| |
|
|
| | Пишу скрипт на автообновление и возникла такая проблема, как можно при авторизации через 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, $errstr, 30);
$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 записей в файле. Задача стоит такая, - как во втором срипте добиться того, что бы он распозновал, когда был введет правильный логин?
Тоесть в таком виде который он есть сейчас, он нечего не отобразит, а хотелось бы что бы оповещал о успехе и о неуспехе ввода. | |
| |
|
|
| |
|
|
| |
для: 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 "Вы пришли совсем не с той страницы сайта";
?>
|
| |
| |
|
|
| |
|
|
| |
для: Adamant
(13.03.2008 в 00:52)
| | | Имелось введу найти решение для второго скрипта :) | |
| |
|
|
| |
|
|
| |
для: webklon
(12.03.2008 в 20:00)
| | | Интересный вопрос, сам хочу написать нечто подобное.
А если сразу после
$headers .= "Connection: close\r\n\r\n";
$fw = fwrite($fp, $headers.$data);
|
сделать fread из того же сокета? Т.е. тебе надо сэмулировать браузер и прочитать что выдаст скрип "ОК" или "НЕОК"? | |
| |
|
|
| |
|
|
| |
для: HaJIuBauKa
(13.03.2008 в 10:05)
| | | >сделать fread из того же сокета?
А что считовать то?
>Т.е. тебе надо сэмулировать браузер и прочитать что выдаст скрип "ОК" или "НЕОК"?
Да, притом желательно както обусловить это уровне, когда обрабатующий запрос срипт может и не выдовать наглядно ОК или НЕОК, а просто в случае не правильного ввода продолжать оставаться таким как есть, - по этому хотелось бы найти такое решение, которое было бы актуальным без дополнительных обозначений в первом срипте. | |
| |
|
|