|
| |
|
|
| |
для: Trianon
(02.12.2007 в 19:39)
| | | Большое спасибо. Все работает. | |
| |
|
|
| |
|
|
| |
для: Trianon
(02.12.2007 в 19:39)
| | | Отослала вам письмо | |
| |
|
|
| |
|
|
| |
для: zeta777
(02.12.2007 в 19:32)
| | | Нужны все файлы, которые так или иначе втянуты в процесс. В идеале - вообще весь исходный архив + архив файлов с Вашими исправлениями. Больше не меньше.
SQL-дамп тоже будет полезен, можно будет сразу проверить что в базе не так. | |
| |
|
|
| |
|
|
| |
для: Trianon
(02.12.2007 в 19:26)
| | | Спасибо большое. Вам прям весь скрипт или только эти файлы? sql файл нужен? | |
| |
|
|
| |
|
|
| |
для: exp
(02.12.2007 в 17:25)
| | | Сканнер http://www.acunetix.com/ Хороший сканнер. Иногда, как мне кажется излишне строг, найдет уязвимость там, где ее нет (или по крайней мере кажется что нет и xspider ничего не находит), но зато там, где она есть - уж точно не пропустит. Хороший анализ выдает. Даже советы по исправлению. Дорогой ($ 4995), но в инете есть рабочая пиратская версия :), которая нормально обновляет базу данных по уязвимостям.
Я понимаю, что если сама сделаю - то лучше разберусь. Но не могу, ну никак эту авторизацию сделать. Знаете, сколько я с ней мучаюсь уже? Не получается. Проблема в том, что я-то не программист вообще, и никогда им не была, училась по книжкам да по статьям в инете, да вот еще по форумам... И из моих знакомых я единственный, кто вообще слышал слово такое - PHP :). Просто этот скрипт больше разработчиками не поддерживается, они предлагают только на новые их скрипты переходить, но ведь и новые их скрипты тоже с register_globals on работают, а я этим скриптом давно пользуюсь и у меня база пользователей большая (но это не проблема, я бы ее как-нибудь переконвертировала), что самое главное - я к нему кучу нужных мне функций приделала, в других скриптах знакомств их вообще нет, обидно терять, оптимизировала нагрузку на базу данных, насколько возможно (тоже, между прочим для меня непосильный труд был :), плюс я его все-таки знаю, как свои пять пальцев, получается все зря.... А времени мало - у меня неожиданно сайт раскрутился :), посещаемость резко выросла, соотв-но опасность того, то кто-то хакнет не сегодня-завтра - реально увеличилась. В общем, поверите - день и ночь сижу, переделываю скрипт, даже по ночам мне уже этот PHP снится (серьезно). | |
| |
|
|
| |
|
|
| |
для: zeta777
(02.12.2007 в 16:51)
| | | 1. Я бы помог, если б мог глянуть на исходники полностью.
Где можно откопать весь пакет, без необходимости его купить, я не нашел.
2. Собственно мы здесь все (ну почти все) собрались именно затем, чтобы друг у друга просить совета или помощи, и соответственно, друг другу помогать. Так что чему тут можно стыдиться, я не вижу совершенно. Наоборот, то что Вы не пасуете перед нетривиальной задачей, а упорно пытаетесь выяснить, как её забороть (пусть при помощи зала), лишь делает Вам честь. Как минимум в моих глазах - совершенно точно. Неудобно ....... в лыжах и на гамаке. А спрашивать совета, там где этого ждут, вполне удобно.
3. моя аська шесть восемь семь пять восемь девять пять. И если Вы где-нибудь поместите архив с исходниками, я попытаюсь поспособствовать более детально. | |
| |
|
|
| |
|
|
| |
для: zeta777
(02.12.2007 в 16:51)
| | | если своими руками хотя-бы переделано , то проще разобраться потом при эксплуатации,
тем-более вам осталось совсем немножко разобраться :)
и уязвимости при разных настройках по разному могут повлиять, можно просто для себя делать скрипт, зная как что у себя настроено. а можно делать ориентируясь на любые возможные включения/выключения
интересный сканер (acunetix vulnerubility scanner) гугл такого не знает , где вы его нашли ? | |
| |
|
|
| |
|
|
| |
для: exp
(02.12.2007 в 15:59)
| | | ну, да проверка есть. В файле center.php есть include файла member.php, в котором определяются права пользователя. В этом файле есть строчка:
$r=q("select status, rdate from members where id='$auth' and pswd='$pass'");
if(e($r))
{header("Location: login.php");exit;}
Просто я про это не упоминала, потому, что когда проверяла файл login.php я строчку
if(e($r))
{header("Location: login.php");exit;}
из member.php убирала, чтобы понять, это из center.php меня обратно на login.php перебрасывает или я остаюсь там на login.php, никуда не иду. Получалось, что просто я туда (в center.php) не попадаю, потому что без строчки if(e($r))
{header("Location: login.php");exit;} все равно я на login.php оставалась
Но теперь, когда я убрала switch и сделала if - вроде с файлом login.php разобралась. Теперь без строчки проверки я на center.php попадаю.
Теперь проверку на member.php нужно пройти :)
Значит, было так:
$r=q("select status, rdate from members where id='$auth' and pswd='$pass'");
if(e($r))
{header("Location: login.php");exit;}
Делаю так:
$auth=$_COOKIE['auth'];
$pass=$_COOKIE['pass'];
$r=q("select `status`, `rdate` from `members` where `id`='".intval($_COOKIE['auth'])."' and `pswd`='".$_COOKIE['pass']."'");
if(e($r))
{
setcookie("auth", "", time() - 3600*24*30*12, "/");
setcookie("pass", "", time() - 3600*24*30*12, "/");
header("Location: login.php");exit;
};
В общем окончательно у меня получается так:
login.php
$ff = f($r);
if($ff['status']==0) header("Location: login.php?s=confirm");
elseif($ff['status']==2) {header("Location: login.php?s=contact");}
elseif($ff['status']==1)
{
setcookie("auth",intval($_POST['id'], time()+60*60*24*30));
setcookie("pass",$_POST['pswd'], time()+60*60*24*30);
q("update `profiles` set `ldate`='".strtotime(date("d M Y H:i:s"))."' where `id`='".intval($_POST['id'])."'");
d($db);
header("Location: center.php");}
А дальше в member.php проверка идет так:
$auth=$_COOKIE['auth'];
$pass=$_COOKIE['pass'];
$r=q("select `status`, `rdate` from `members` where `id`='".intval($_COOKIE['auth'])."' and `pswd`='".$_COOKIE['pass']."'");
if(e($r))
{
setcookie("auth", "", time() - 3600*24*30*12, "/");
setcookie("pass", "", time() - 3600*24*30*12, "/");
header("Location: login.php");exit;
};
Только она не работает :(. Я опять в login.php оказываюсь, но теперь уже я туда из center.php попадаю.
Еще раз обращаюсь: может есть кто-нибудь, кто сможет помочь мне за оплату?
В принципе мне осталось-то уже немного (я надеюсь) - вот эту самую авторизацию и проверку пройти, чтобы на пользовательскую территорию корректно попадать. То есть всего три файла - login.php (login.php по сути уже работает), member.php и center.php
Просто мне уже неудобно перед всеми, кто мне помогает, я всем очень благодарна, но уже стыдно надоедать глупыми вопросами :) | |
| |
|
|
| |
|
|
| |
для: zeta777
(02.12.2007 в 16:27)
| | | Вы прямо таки "фантастический коммент" написали. switch тут не причем, я кусочек вашего кода прописал, в отрыве вообще от всего остального. Пропишите отдельно прстую кострукцию switch - думаю вы сами понимаете, что она у вас работать будет отменно. В реальном же коде (вам это еще ранее предлагал Trianon), заремируйте switch, и вместо этого сделайте вывод на экран:
echo $ff['status'];
exit;
Если вы получите статус равный 1 при этом, то проблемы надо искать после case 1:, а не в самом switch. | |
| |
|
|
| |
|
|
| |
для: sim5
(02.12.2007 в 15:35)
| | | Не сомневаюсь, что PHP не отличается, но меня перебраcывает на test.php при любых значениях $ff['status']. У меня файл, конечно не main.php, а login.php и значения статуса должны выводится именно в нем, если статус=0 или 2, если статус равен 1 - должно перебросить на test.php. Теоретически. Практически меня теперь туда перебрасывает при всех значениях статуса :). Ну, да, ладно, я переделала скрипт авторизации без switch, потому как переделать с использованием switch у меня так и не получилось. | |
| |
|
| |
|