ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

09.12.2007, 17:09
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Сообщение от Digimortal
в винде так не получится... )
а зачем 2 раза -w пишешь вдобавок к тому, что прагму warnings заюзал? )
тупанул с варнингом) решил повыпендриваться
#пс поставил убунту  изучаю
|
|
|

13.12.2007, 04:47
|
|
Участник форума
Регистрация: 21.12.2006
Сообщений: 179
Провел на форуме: 1428298
Репутация:
65
|
|
В неком файле на серваке заданы пассы и логины через разделитель. Есть форма, где поля логин и пасс.
проверяем введенные логин и пасс.
для начала написал только проверку логина. ниже приведен код.
Проблема в том, что
Код:
if ($arr[$m]->[$n]==$obtained_login)
выполняется всегда, если первый символ логина - буква. Если цифра - не выполняется.
Объясните, пожалуйста, почему так происходит.
Код HTML:
<html>
<head>
<title>xz</title>
</head>
<body>
<form action="lab20.pl" method="post">
LOGIN <input type="text" name="login"><p>
БЗДЫДЫЩ: <input type="text" name="pass"><p>
<input type="submit" value="check">
</form>
</body>
</html>
Код:
#!/usr/bin/perl -w
use CGI;
print "Content-type:text/html;charset=windows-1251\n\n";
$q = new CGI;
$obtained_login = $q->param('login');
$obtained_password = $q->param('pass');
open(DATA, "users.txt");
$i=0;
foreach $line(<DATA>)
{
$j=0;
@temp=split (/;/,$line);
while ($j<=$#temp)
{
$arr[$i]->[$j]=$temp[$j];
$j++;
}
$i++;
}
close(DATA);
for($m=0; $m<$i; $m++)
{
for ($n=0;$n<$j; $n++)
{
if ($arr[$m]->[$n]==$obtained_login)
{
print "good";
}
else { print "bad";}
}
}
|
|
|

13.12.2007, 05:02
|
|
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
Провел на форуме: 4319431
Репутация:
677
|
|
Код:
if ($arr[$m]->[$n]==$obtained_login)
выполняется всегда, если первый символ логина - буква. Если цифра - не выполняется.
я не проверял, но по моему дело в чисельном сравнении ==, попробуй строкове eq
|
|
|

13.12.2007, 05:06
|
|
Участник форума
Регистрация: 21.12.2006
Сообщений: 179
Провел на форуме: 1428298
Репутация:
65
|
|
Сообщение от C!klodoL
я не проверял, но по моему дело в чисельном сравнении ==, попробуй строкове eq
C!klodoL, ты прав, спасибо, очень оперативно!
проблема решена, всем спасибо.
|
|
|

13.12.2007, 05:44
|
|
Участник форума
Регистрация: 21.12.2006
Сообщений: 179
Провел на форуме: 1428298
Репутация:
65
|
|
а как бы его так аккуратно дописать, что б и пароль проверял?
я дописал, но сам баг через 5 минут нашел.
|
|
|

13.12.2007, 06:21
|
|
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
Провел на форуме: 4319431
Репутация:
677
|
|
мне было проще переписать занова, надеюсь это то что ты имел ввиду
Код:
#!/usr/bin/perl -w
use strict;
use CGI qw(:standard);
my $cgi = CGI->new();
my $login = $cgi->param('login');
my $pass = $cgi->param('pass');
print $cgi->header(-charset => 'UTF-8');
if ($login && $pass) {
readdata();
} else {
print $cgi->start_html('Fuck you hacker!'),
$cgi->start_center,
$cgi->h1('Fuck you hacker!'),
$cgi->end_html;
}
sub readdata {
open(my $data, '<users.txt');
while(<$data>) {
if (/$login;$pass/) {
print $cgi->start_html('GOOD!'),
$cgi->start_center,
$cgi->h1('GOOD!'),
$cgi->end_html;
close $data;
exit
}
}
print $cgi->start_html('BAD!'),
$cgi->start_center,
$cgi->h1('BAD!'),
$cgi->end_html;
}
результат испытаний;
http://localhost/cgi-bin/lol.pl?login=root&pass=432 пишет BAD;
http://localhost/cgi-bin/lol.pl?login=root&pass=pass пишет GOOD
если вызвать без параметров то - F*ck you hacker!
|
|
|

18.12.2007, 11:41
|
|
Banned
Регистрация: 09.11.2007
Сообщений: 20
Провел на форуме: 87035
Репутация:
2
|
|
Помогите..
Я немогу установить Mail::POP3Client
У меня есть сама библиотека а не ссылка для ее скачки и установки.... Помогите..
|
|
|

18.12.2007, 11:48
|
|
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
Провел на форуме: 4319431
Репутация:
677
|
|
консоль; ppm, ppm> install Mail::POP3Client
|
|
|

18.12.2007, 12:28
|
|
Banned
Регистрация: 09.11.2007
Сообщений: 20
Провел на форуме: 87035
Репутация:
2
|
|
А куда сами файлы кидать???
там 2 папки:
cgi-shl
htdocs
в каждой папка qdpop а в ней куда *.pl и др файлы.
|
|
|

18.12.2007, 12:32
|
|
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
Провел на форуме: 4319431
Репутация:
677
|
|
ты на хостинг чтоли модуль хочешь поставить? на хостинг может поставить только сам хостер, попробуй просто положить модуль в одной папке со скриптом его использующим, сами файлы в cgi-shl
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|