Подскажите пожалуйста как можно защитить все страницы от прямого их открытия в браузере?все кроме первой, так как на ней происходит авторизация пользователя. может поступить просто: в начале кажной страницы вписать:
if ($_session=['logged']) {
//то выполняем скрипт страницы
}
else {
echo "Куда лезешь дурак!!??";
}
можно ли так сделать?
я больше чем уверен что условие не правильно написал, как его правильно сформеровать?
Спустя 56 минут, 1 секунда (4.05.2009 - 08:57) olgatcpip написал(а):
Я обычно делаю примерно так. При авторизации в сессию записываю так:
PHP |
$_SESSION['user']['id']=$user_id; |
но если тебе не важно какой ид пользивателя напиши так:
PHP |
$_SESSION['user']=1; |
и дальше
PHP |
if ($_SESSION['user']) { |
Спустя 11 минут, 51 секунда (4.05.2009 - 09:08) stepan написал(а):
PHP |
<? |
Если ты собираешся использовать много файлов т.е. помимо index.php будет всякие contact.php и т.д. чтобы облегчеть себе жизнь сделай отдельно один файл типа - access.php и втего запиши :
PHP |
<? |
а вовсех последующих файлах его инклудь наподоби вот такого index.php, contact.php:
PHP |
includ('access.php'); |
Есть еще один распространенный способ спомощью $_GET[] но там есть огромный риск что сайт будет взломан.
Спустя 1 час, 48 минут, 19 секунд (4.05.2009 - 10:57) Sj написал(а):
olgatcpip, не совсем понял, а зачем 1 в $_SESSION['user']=1;
и далее будет проверятся если 1 то выполняем код? (извенити за каламбур)
if ($_SESSION['user']) {
stepan, спасибо за совет!
и далее будет проверятся если 1 то выполняем код? (извенити за каламбур)
if ($_SESSION['user']) {
stepan, спасибо за совет!
Спустя 14 минут, 8 секунд (4.05.2009 - 11:11) Гость_hara написал(а):
Зачем сессии...
В начале скрипта что то вроде
В начале скрипта что то вроде
PHP |
<?php |
Тут подразумевается что в каком то конфигурационном файле который подключается ко всем скриптам утстанавливается константа SYSPATH, так вот если файл этот не подключен,
=> скрипт вызван напрямую => No direct access allowed
Спустя 5 минут, 55 секунд (4.05.2009 - 11:17) Гость_hara написал(а):
да кавычки забыл в die...
Спустя 15 минут, 44 секунды (4.05.2009 - 11:33) stepan написал(а):
Цитата (Sj @ 4.05.2009 - 07:57) |
stepan, спасибо за совет! |
Всегда пожалуйста.
Спустя 4 часа, 42 минуты, 46 секунд (4.05.2009 - 16:15) Joker написал(а):
Sj Замечание: нарушение правила 2 п.5с "При оформлении сообщения с программным кодом используйте обрамляющие тэги."
Спустя 17 часов, 10 минут, 20 секунд (5.05.2009 - 09:26) Sj написал(а):
Ребята, послушайте, я что-то не пойму. у меня задумка вот какая:
имеется около 7 страниц: index.php, index1.php, edit.php, add_user.php...
на index.php у меня идет авторизация пользователя и после успешного его выполнения, происходит обработка остального скрипта на этой же страницы. я вот как думал сделать, на index.php есть ссылка на edit.php и остальные, и вот задумка в том чтобы я с одной страницы мог открывать другую и из той переходить еще на следующую и так далее. но запрещать открытие страниц таким образом: http://mysite.ru/edit.php или http://mysite.ru/index1.php
вобщем чтобы была возможность открытия всех страниц только при условии что произошла авторизация на index.php
завтра выложу код index.php страницы
имеется около 7 страниц: index.php, index1.php, edit.php, add_user.php...
на index.php у меня идет авторизация пользователя и после успешного его выполнения, происходит обработка остального скрипта на этой же страницы. я вот как думал сделать, на index.php есть ссылка на edit.php и остальные, и вот задумка в том чтобы я с одной страницы мог открывать другую и из той переходить еще на следующую и так далее. но запрещать открытие страниц таким образом: http://mysite.ru/edit.php или http://mysite.ru/index1.php
вобщем чтобы была возможность открытия всех страниц только при условии что произошла авторизация на index.php
завтра выложу код index.php страницы
Спустя 2 часа, 41 минута, 31 секунда (5.05.2009 - 12:07) sergeiss написал(а):
Sj - код страницы можешь даже и не выкладывать. Надо просто порассуждать.
Для организации этого процесса надо сделать авторизацию на странице index.php, по результатам которой записывать определенные куки на комп пользователя. При входе на другие страницы читаешь куки и смотришь, разрешено ли пользователю работать на тех страницах.
Если авторизации нету, то тупо редиректишь на index.php.
При этом нету необходимости писать код на каждой странице. Делаешь его в отдельном файле, и через include подключаешь в начала любого файла, где нужна такая проверка.
PS. Если у пользователя есть запрет на куки, то тогда ничего не поможет. В том числе и сессии не помогут. Потому что они тоже используют куки , и плюс к тому у них есть временнОе ограничение.
Для организации этого процесса надо сделать авторизацию на странице index.php, по результатам которой записывать определенные куки на комп пользователя. При входе на другие страницы читаешь куки и смотришь, разрешено ли пользователю работать на тех страницах.
Если авторизации нету, то тупо редиректишь на index.php.
При этом нету необходимости писать код на каждой странице. Делаешь его в отдельном файле, и через include подключаешь в начала любого файла, где нужна такая проверка.
PS. Если у пользователя есть запрет на куки, то тогда ничего не поможет. В том числе и сессии не помогут. Потому что они тоже используют куки , и плюс к тому у них есть временнОе ограничение.
Спустя 26 минут, 21 секунда (5.05.2009 - 12:34) Sj написал(а):
куки можно использывать.
можете примерчик кинуть как с ними работать?
можете примерчик кинуть как с ними работать?
Спустя 8 минут, 36 секунд (5.05.2009 - 12:42) waldicom написал(а):
Цитата |
PS. Если у пользователя есть запрет на куки, то тогда ничего не поможет. В том числе и сессии не помогут. Потому что они тоже используют куки smile.gif, и плюс к тому у них есть временнОе ограничение. |
Позволю себе вмешаться: необязательно. Сессию можно передавать через $_GET, что многие движки делают. Мне лично такой вариант не нравится, но возможность есть.
Спустя 7 минут, 13 секунд (5.05.2009 - 12:49) Sj написал(а):
как работать с куки?
Спустя 55 секунд (5.05.2009 - 12:50) waldicom написал(а):
Спустя 2 часа, 28 минут, 29 секунд (5.05.2009 - 15:19) Mizka написал(а):
Цитата |
вобщем чтобы была возможность открытия всех страниц только при условии что произошла авторизация на index.php |
PHP |
if (authorised) //в зависимости какая там у тебя авторизация |
Спустя 13 часов, 2 минуты, 1 секунда (6.05.2009 - 04:21) Sj написал(а):
у меня на index.php происходит старт сессии таким образом:
PHP |
@session_start(); |
а вот без @ выдает ошибку. с @ правильно ли проходит запись сессии?
Спустя 1 час, 6 минут, 21 секунда (6.05.2009 - 05:27) kirik написал(а):
Цитата (Sj @ 5.05.2009 - 20:21) |
а вот без @ выдает ошибку. |
Случаем не
Цитата |
Cannot send session cache limiter - headers already sent |
?
Спустя 23 часа, 34 минуты, 1 секунда (7.05.2009 - 05:01) Sj написал(а):
да эта и еще про cookie