Форум: "Потрепаться";
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];
ВнизПомогите сделать такой скрипт Найти похожие ветки
← →
Феликс (2001-11-24 00:31) [0]Помогите сделать такой скрипт (если не сложно). В файле pas.txt хранятся пароли. Человек в форме вводит свой пароль, скрипт проверяет есть ли такой пароль в файле pas.txt. Если такой пароль есть, то загружается страница ok.htm, если нет, то bad.htm.
Заранее спасибо!
← →
Suntechnic (2001-11-24 00:38) [1]> Феликс ©
>Человек в форме вводит свой пароль, скрипт проверяет есть ли такой...
Ну если бы у меня человек в форме пароль в водил бы, то я бы в любом случае ok.htm показывал бы. С властями шутки плохи :)
← →
Феликс (2001-11-24 02:18) [2]2 Suntechnic ©
Игра слов-это круто!
← →
Someone (2001-11-24 03:47) [3]А в "Потрепаться" - это выглядит очень даже к месту!
Хотя, по роду деятельности я очень часто сталкиваюсь с тем, что ЧЕЛОВЕК В ФОРМЕ вводит пароль! И если взять наш регион - то, с каждым месяцем (не то что годом) Он вводит ЭТОТ САМЫЙ ПАРОЛЬ всё лучше и лучше!
← →
Anatoly Podgoretsky (2001-11-24 10:26) [4]Феликс © (24.11.01 02:18)
У тебя вопрос очень расплывчатый, даже и не понятно что у тебя не выходит.
Но один совет НЕ ХРАНИ ПАРОЛИ
← →
anod (2001-11-24 11:11) [5]на Перле?
Что-то типа...
#!/usr/bin/perl -w
use strict;
use CGI;
my $q = CGI->new;
my $pass = $q->param("pass");
my $r;
print $q->header(-charset => "cp-1251");
print $q->start_html;
open(PF, "+passfile");
while (!eof(PF)) {
$r = <PF>;
if ($pass=$r) {
print $q->h1("OK");
close(PF);
}
else {
print $q->h1("BAD");
close(PF);
}
}
print $q->end_html;
← →
Donal (2001-11-26 11:29) [6]на PHP :
<?
$passwords = File ("pas.txt");
//$ok=0;
for ($i = 0; $i < count ($passwords); $i++)
{
if ($passwords[$i]=$pass)
{
header ("Location: ok.html"); //
//$ok=1;
}
}
//if ($ok) header ("Location: ok.html");
//else
header ("Location: bad.html");
?>
---
Comments:
1.Скажу честно, не уверен, что скрипт прекратит работу на строчке с // в конце...т.е. я не уверен, что редирект будет сразу. Если редиректа сразу не будет, то можно убрать комментарии и сомнительную строчку. тогда всё должно работать ок
2. $pass берётся из формы
FORM ACTION="thisscriptname.php"
INPUT TYPE=TEXT NAME="pass"
← →
panov @ (2001-11-26 11:39) [7]Удалено модератором
← →
Дмитрий (2001-11-26 13:46) [8]
while (!eof(PF)) {
$r = <PF>;
if ($pass=$r) {
print $q->h1("OK");
close(PF);
}
а так?
open(F, "a.txt");
while (<F>) {
chomp;
eval {print "Found!"; exit;} if $_ eq $pass;
}
print "Not found";
← →
anod (2001-11-26 15:50) [9]2 Дмитрий
а что такое eval?
← →
anod (2001-11-26 15:51) [10]if ($pass=$r) здесь конечно
if ($pass eq $r)
← →
Donal (2001-11-26 15:55) [11]хех..у меня тоже самое :-) :
вместо $passwords[$i]=$pass надо
$passwords[$i]===$pass
← →
anod (2001-11-26 17:08) [12]2 Donal
Это всё влияние Delphi
← →
Дмитрий (2001-11-26 18:38) [13]Про eval можно рассуждать часами :) Фича интерпретируемых языков. Код в блоке eval интерпретируется на лету. То есть теоретически можно написать программу, которая сама себя собирает (например, управляясь событиями) а затем исполняет, причем итерационно :) (говорят,существует такой XML-парсер)
sub a1{
print "1";
}
sub a2{
print "2";
}
for ($i=1;$i<=2;$i++) {
eval "&a$i";
}
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c