PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (3): « 1 [2] 3 »

> Найдено сообщений: 43
levchick Отправлено: 07 Апреля, 2011 - 08:14:23 • Тема: Авторизация на Браузере • Форум: Программирование на PHP

Ответов: 18
Просмотров: 1536
BoJlod9I пишет:
Хорошо меня рассоеденяет если пароль не сохранять!



....
levchick Отправлено: 07 Апреля, 2011 - 08:12:29 • Тема: Авторизация на Браузере • Форум: Программирование на PHP

Ответов: 18
Просмотров: 1536
Уберите тогода - session_destroy();
levchick Отправлено: 07 Апреля, 2011 - 08:09:16 • Тема: Авторизация на Браузере • Форум: Программирование на PHP

Ответов: 18
Просмотров: 1536
Откровенно сказать, не понял вопроса.. Сформулируйте, пожалуйста, более четко и, желательно, со знаками препинания..
levchick Отправлено: 07 Апреля, 2011 - 08:03:15 • Тема: Авторизация на Браузере • Форум: Программирование на PHP

Ответов: 18
Просмотров: 1536
Хм, мб браузер запоминает логин с паролем?
(Добавление)
Попробуйте вот так вот:

PHP:
скопировать код в буфер обмена
  1. if ($_GET['logout']==1)
  2. {
  3.        unset($_SERVER['PHP_AUTH_USER']);
  4.        unset($_SERVER['PHP_AUTH_PW']);
  5.        session_destroy();
  6. }
levchick Отправлено: 07 Апреля, 2011 - 07:59:33 • Тема: Авторизация на Браузере • Форум: Программирование на PHP

Ответов: 18
Просмотров: 1536
Посмотрите внимательно на тот код, который я привел:


Вот отработка выхода:
PHP:
скопировать код в буфер обмена
  1.  
  2. ....
  3. if ($_GET['logout']==1)
  4. {
  5.        unset($_SERVER['PHP_AUTH_USER']);
  6.        unset($_SERVER['PHP_AUTH_PW']);
  7. }
  8. ....
  9.  
levchick Отправлено: 07 Апреля, 2011 - 07:54:35 • Тема: Авторизация на Браузере • Форум: Программирование на PHP

Ответов: 18
Просмотров: 1536
Создайте ссылку подобного вида: index.php?logout=1 и отрабатывайте выход:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include("db.php");
  4. if ($_GET['logout']==1)
  5. {
  6.        unset($_SERVER['PHP_AUTH_USER']);
  7.        unset($_SERVER['PHP_AUTH_PW']);
  8. }
  9. if (!isset($_SERVER['PHP_AUTH_USER']))
  10.  
  11. {
  12.        Header ("WWW-Authenticate: Basic realm=\"Panel of Nad1n\"");
  13.        Header ("HTTP/1.0 401 Unauthorized");
  14.        exit();
  15. }
  16.  
  17. else {
  18.        if (!get_magic_quotes_gpc()) {
  19.                $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
  20.                $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
  21.        }
  22.        $query = "SELECT password FROM admins WHERE login='".$_SERVER['PHP_AUTH_USER']."'";
  23.        $lst = @mysql_query($query);
  24.  
  25.        if (!$lst)
  26.        {
  27.            Header ("WWW-Authenticate: Basic realm=\"Panel of Nad1n\"");
  28.        Header ("HTTP/1.0 401 Unauthorized");
  29.        exit();
  30.        }
  31.        if (mysql_num_rows($lst) == 0)
  32.        {
  33.           Header ("WWW-Authenticate: Basic realm=\"Panel of Nad1n\"");
  34.           Header ("HTTP/1.0 401 Unauthorized");
  35.           exit();
  36.        }
  37.        $pass =  @mysql_fetch_array($lst);
  38.        if ($_SERVER['PHP_AUTH_PW']!= $pass['password'])
  39.        {
  40.            Header ("WWW-Authenticate: Basic realm=\"Panel of Nad1n\"");
  41.           Header ("HTTP/1.0 401 Unauthorized");
  42.           exit();
  43.        }
  44. }
  45. ?>
  46.  
levchick Отправлено: 06 Апреля, 2011 - 19:50:46 • Тема: Что такое "/(\w+) (\d+), (\d+)/i" ??? • Форум: Программирование на PHP

Ответов: 8
Просмотров: 3559
Не мое дело конечно, но я бы посоветовал для парсинга XML использовать библиотеку SimpleXML. Ну или любую другую, предназначенную для работы с XML форматом. Это намного проще, чем взрывать мозг регулярными выражениями.

В этом случае:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <response>
  3. <message>ok</message>
  4. <sub_id>ххх</sub_id>
  5. <user_id>7хххххххххх</user_id>
  6. </response>
  7.  


парсинг выглядел бы следущим образом:

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $xmlObject=simplexml_load_string($string); //$string содержит то, что надо раcпарсить
  4.  
  5. echo $xmlObject->message."<br/>"; //выведет ok
  6. echo $xmlObject->sub_id."<br/>"; // ххх
  7. echo $xmlObject->user_id."<br/>"; // 7хххххххххх
  8.  
  9.  
levchick Отправлено: 06 Апреля, 2011 - 17:38:18 • Тема: Warning • Форум: Программирование на PHP

Ответов: 6
Просмотров: 375
Подмигивание
levchick Отправлено: 06 Апреля, 2011 - 17:26:24 • Тема: Warning • Форум: Программирование на PHP

Ответов: 6
Просмотров: 375
http://forum.php.su/topic.php?fo...1&topic=3026
levchick Отправлено: 06 Апреля, 2011 - 15:57:29 • Тема: одноимённые функции и require • Форум: Программирование на PHP

Ответов: 15
Просмотров: 1456
LIME пишет:
php.su/functions/?proc-open


Эта функция разрешена не на всех хостингах. С SOAP все таки более универсальный вариант
levchick Отправлено: 06 Апреля, 2011 - 15:51:35 • Тема: Сколько живут сессии ? • Форум: Программирование на PHP

Ответов: 7
Просмотров: 3543
Zend пишет:
Время жизнь = время сессии.


Ну тогда браузер у Вас удалит эти куки только после истечения времени. Нужно добиться, что бы PHP при установки сессии посылал куки без указания времени, тогда скорее всего они будут удалятся при закрытии вкладки. На вскидку сразу не скажу как это сделать, надо покопать. Как вариант выставить время жизни сессии в 0, посмотрите что в куки запишется в этом случае.
levchick Отправлено: 06 Апреля, 2011 - 15:44:38 • Тема: Борьба со спамом • Форум: Программирование на PHP

Ответов: 38
Просмотров: 2242
Viper пишет:
Есть форма. Есть метод поверки что ввели и выдачи капчи. После проверки капчи данные куда-то передаются.
Есть юзер зареганый, а есть не зареганый. Для зареганого юзера проблем постаить лимит на попытки нету. Проблема возникает когда юзер незареганый. Как ему лимит то "назначить"? К чему привязать? Куда сохранить временные данные? И по какому признаку блокировать? По IP не вариант скорее всего...


Как вариант в сессии хранить данные, правда это легко обходится обнулением идентификатора. Честно говоря я не в курсе, сохраняют ли cookie спам-роботы, думаю что врядли. Кстати можно сначала проверить возможность установки cookie и сохранять число неуспешных попыток в сессии, потом блокировать именно по сессиям.. но опять же это все так..

Еще один вариант связывать кол-во попыток с IP, но это может негативно отразится на локальных сетях и пользователей прокси-серверов...
(Добавление)
DeepVarvar пишет:
Идея только одна:
Стартовать сессию всегда. И давать уникальный cid, на каждой странице новый, и зареганым и незареганым. Иметь стек с данными обо всех сразу. Там и считать кто, что и сколько раз делал. Зато можно логировать.
Если некий клиент, cid сессии не футболит обратно - значит 99% это не юзер с браузера, а бот.. Тогда сразу - хер ему в зубы.


Да, тоже хороший выход
levchick Отправлено: 06 Апреля, 2011 - 15:33:54 • Тема: Сколько живут сессии ? • Форум: Программирование на PHP

Ответов: 7
Просмотров: 3543
Если идентификатор сессии хранится в куках, то тут думаю от браузера зависит - когда он эти куки замочит.
levchick Отправлено: 06 Апреля, 2011 - 15:32:21 • Тема: Автоматическое отслеживание за изменением страницы • Форум: Программирование на PHP

Ответов: 2
Просмотров: 245
Повесьте на страницу Javascript, который будет посылать Ajax запрос к сереверу с этим ключевым словом. В ответ от сервера возвращайте JSON данные, о том есть ли интересующие данные или нет.. ну и повесте этот скрипт на таймер



Прошу прощения, не верно понял задачу. Если страница не вашего сайта - через curl получать html код страницы, а дальше парсить его - можно попробовать в DOM перегнать...
levchick Отправлено: 06 Апреля, 2011 - 15:29:16 • Тема: одноимённые функции и require • Форум: Программирование на PHP

Ответов: 15
Просмотров: 1456
kaktusjara пишет:
А можно как-нибудь по другому? Можно на серверной стороне вызвать второй скрипт, передать ему параметры, чтобы он выполнился в отдельном потоке и просто вернул результат, не?


Самый идеальный вариант - это написать SOAP сервис для второго скрипта, и из первого его использовать. Покопайте на эту тему, в PEAR уже есть классы для работы с SOAP...

Страниц (3): « 1 [2] 3 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB