Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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";
}




Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.025 c
1-66255           net_phoenix           2002-01-03 19:51  2002.01.21  
COM обьекты Использование серверов для связи с MS OFFICE програмами


1-66265           Notify                2002-01-03 19:54  2002.01.21  
Возможно ли каким либо образом передать курсор из VisualFoxPro в Delphi не копируя его на винт?


7-66384           Sergiu                2001-10-04 10:35  2002.01.21  
Как задавить хинты в TTreeView???


14-66341          Oleg Gashev           2001-11-24 17:35  2002.01.21  
На Ваш Суд


4-66406           hn                    2001-11-14 19:13  2002.01.21  
ссылка на Edit, как получить текст, если он в веден в него