Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Авторизация через HTTP запросы
 
 автор: webklon   (12.03.2008 в 20:00)   письмо автору
 
 

Пишу скрипт на автообновление и возникла такая проблема, как можно при авторизации через http заголовки, отличить правильный ввод данных от неправильного?

К примеру, имеем простейшую форму: на сайте с полем для ввода login и пишем скрипт который оправляет туда логин, а теперь как можно сделать что бы в случае если логин не подходит, то выводить это на экран в посылающем запрос скрипте?

Вот подопытный срипт, в случае правильно ввода логина, записует файл:
<FORM METHOD="POST">
<input type="text" name="login">
</FORM>
<?
    
if($_POST["login"] == Tester){
        
$fp fopen("ok.txt""a+t");
        
fwrite($fp"ok\n");
        
fclose($fp);
    }
?>


Вот срипт осуществляющий ввод:
<?
for($i=0$i<10$i++) {
    
$fp fsockopen("test.com"80$errno$errstr30); 
    
$name 12345;
    
$data "login=".urlencode("$name")."\r\n\r\n"
    
$headers "POST http://playground.udaff.com/test/ HTTP/1.1\r\n"
    
$headers .= "Host: http://playground.udaff.com/\r\n"
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$headers .= "Content-Length: ".strlen($data)."\r\n";
    
$headers .= "Connection: close\r\n\r\n";
    
$fw fwrite($fp$headers.$data);
    
fclose($fp);  
}
?>


Видно что логин в из переменной $name не подойдет, а если изменим его на Test, то все будет в порядке и скрипт на который идет запрос создаст файл. Будет 10 обращений он создаст 10 записей в файле. Задача стоит такая, - как во втором срипте добиться того, что бы он распозновал, когда был введет правильный логин?

Тоесть в таком виде который он есть сейчас, он нечего не отобразит, а хотелось бы что бы оповещал о успехе и о неуспехе ввода.

   
 
 автор: Adamant   (13.03.2008 в 00:52)   письмо автору
 
   для: webklon   (12.03.2008 в 20:00)
 

<?php
if (isset($_POST["login"]) 
  { 
    if (
$_POST["login"] == Tester)
      {
        
$fp fopen("ok.txt""a+t");
        
fwrite($fp"ok\n");
        
fclose($fp);
        echo 
"Оповещаю об УСПЕХе ввода";
      }
    else     
        echo 
"Оповещаю о НЕУСПЕХе ввода"
  }
else
    echo 
"Вы пришли совсем не с той страницы сайта";    
?>

   
 
 автор: webklon   (13.03.2008 в 09:24)   письмо автору
 
   для: Adamant   (13.03.2008 в 00:52)
 

Имелось введу найти решение для второго скрипта :)

   
 
 автор: HaJIuBauKa   (13.03.2008 в 10:05)   письмо автору
 
   для: webklon   (12.03.2008 в 20:00)
 

Интересный вопрос, сам хочу написать нечто подобное.
А если сразу после
    $headers .= "Connection: close\r\n\r\n";
    $fw = fwrite($fp, $headers.$data);

сделать fread из того же сокета? Т.е. тебе надо сэмулировать браузер и прочитать что выдаст скрип "ОК" или "НЕОК"?

   
 
 автор: webklon   (13.03.2008 в 10:17)   письмо автору
 
   для: HaJIuBauKa   (13.03.2008 в 10:05)
 

>сделать fread из того же сокета?
А что считовать то?

>Т.е. тебе надо сэмулировать браузер и прочитать что выдаст скрип "ОК" или "НЕОК"?
Да, притом желательно както обусловить это уровне, когда обрабатующий запрос срипт может и не выдовать наглядно ОК или НЕОК, а просто в случае не правильного ввода продолжать оставаться таким как есть, - по этому хотелось бы найти такое решение, которое было бы актуальным без дополнительных обозначений в первом срипте.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования