|
Автор |
Сообщение |
Амир
Участник тусовки
Зарегистрирован: 21.07.2009 Сообщения: 135
|
|
|
|
Здравствуйте уважаемые!
Тут такой вопрос, не смотря на топик, он пока 1
Как я могу защитить сценарий от прямого вызова? Читал про define ($name, $value, $case_sen), вроде ясно, но как мне объявить эту константу в форме? Может я вообще не в том направлении думаю...
den, посмотри, пожалуйста
Код: |
<? if (isset($_REQUEST['goadmin'])) {
if ($_REQUEST['log']=="root" && $_REQUEST['pass']=="135")
{ header('Location: admin.php'); }
else
echo "Пароль не верен";
}
else
echo
'<form>
Логин: <input type=text name=log /><br />
Пароль:<input type=password name=pass /><br />
<input type=submit name=goadmin value=Войти />
</form>';
?> |
ну тут все очень просто, если пароль верен то пересылает на admin.php, так вот как запретить прямой вызов admin.php? defined не годится? или как можно сделать не объединяя эти 2 файла? |
|
Вернуться к началу |
|
|
Anton99
Neo
Зарегистрирован: 26.11.2006 Сообщения: 1676
|
|
|
|
сиськой (session). |
|
Вернуться к началу |
|
|
Амир
Участник тусовки
Зарегистрирован: 21.07.2009 Сообщения: 135
|
|
|
|
А пара строчек примера не затруднит, как лучше? |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Амир
Участник тусовки
Зарегистрирован: 21.07.2009 Сообщения: 135
|
|
|
|
den, Спасибо!
Ну а самый простой способ есть? например в первом сценарии session_start() и форма, если пароль и логин верны, то пересылает на другой сценарии, а на нем проверка существования сессии... |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
А ты внимательно читай и сам его напишешь |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Амир
Участник тусовки
Зарегистрирован: 21.07.2009 Сообщения: 135
|
|
|
|
логично |
|
Вернуться к началу |
|
|
Амир
Участник тусовки
Зарегистрирован: 21.07.2009 Сообщения: 135
|
|
|
|
den, Скажи, пожалуйста, почему моя сессия не "убивается"? В общем начитался и сделал кривую защиту, теперь все отлично, но не могу сессию уничтожить, делаю так, как рекомендуют везде session_destroy()
out.php
Цитата: |
<?
session_start();
session_destroy();
Header("Location: index.php");
?>
|
Вывожу ссылку на out.php в основном сценарии, но при переходи по ней пишет
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent ...
Warning: Cannot modify header information - headers already sent by...
не пойму что не так? |
|
Вернуться к началу |
|
|
Амир
Участник тусовки
Зарегистрирован: 21.07.2009 Сообщения: 135
|
|
|
|
Пардон! Сессия определенно удаляется! Но ошибки остаются |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
У тебя есть лишний вывод. Проверь, есть ли пробелы перед <? или какой-то вывод перед установкой сессии? |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Амир
Участник тусовки
Зарегистрирован: 21.07.2009 Сообщения: 135
|
|
|
|
den, Нет ничего перед <? даже пробелов!
Цитата: |
или какой-то вывод перед установкой сессии? |
- Именно в этом сценарии тоже нет абсолютно ничего! Он весь вот
Цитата: |
<?
session_start();
session_destroy();
Header("Location: index.php");
?> |
А ведь может же быть символ какой то, который операцинка не показывает, например перенос строки(или еще что) ? |
|
Вернуться к началу |
|
|
Амир
Участник тусовки
Зарегистрирован: 21.07.2009 Сообщения: 135
|
|
|
|
имеется ввиду как \n только чтоб его только операционка видела, но не выводила |
|
Вернуться к началу |
|
|
Anton99
Neo
Зарегистрирован: 26.11.2006 Сообщения: 1676
|
|
|
|
Амир, открой php файл в любом HEX редакторе и посмотри. |
|
Вернуться к началу |
|
|
Амир
Участник тусовки
Зарегистрирован: 21.07.2009 Сообщения: 135
|
|
|
|
Anton99, Однако, помогло, спасибо! den, был прав, там какие то символы были! Спасибо, очень помогли! |
|
Вернуться к началу |
|
|
Anton99
Neo
Зарегистрирован: 26.11.2006 Сообщения: 1676
|
|
|
|
случайно не п>i ? |
|
Вернуться к началу |
|
|
|
|