|
|
|
| Всем привет. Вот задался вопросом, как запретить выполнение скрипта напрямую вбив урл в адресную строку или же другими способами, а я думаю их может быть масса. Хотел бы услышать Ваши идеи и пожелания. Нужно в целях безопасности, т.к. прямой путь к пхп скрипту узнать в моем случае не сложно. Спасибо. | |
|
|
|
|
|
|
|
для: TetRiska
(15.03.2011 в 21:52)
| | Просто запретите обращение к файлам папки при помощи .htaccess
Скрипты, которые используют относительные пути смогут обращаться к этим файлам, а через браузер к ним обратиться будет нельзя. | |
|
|
|
|
|
|
|
для: cheops
(15.03.2011 в 21:55)
| | идея хороша
принцип у меня таков в общем: посылаю я через jquery POST-запрос с параметрами и получаю ответ....тут то относительный путь и будет все окей с хтаксессом....а возможно ли такое что программного кто-то попытается обратится?
П.С. прописал и закинул хтаксесс, теперь и джиквери его не видит
как Вам такое? - проверять существует ли $_SERVER['HTTP_REFERER'] и равен ли он моему домену, тогда скрипт обрабатывает переменные, в противном случае - пусто
проверил эту мысль получается что если через скрипт обратится то возвращает реферер, а если напрямую то нет.....но все же есть подозрение что его можно подделать или подставить путем программного вмешательства или нет? | |
|
|
|
|
|
|
|
для: TetRiska
(15.03.2011 в 22:31)
| | Вы правы, реферер можно подделать - не велик труд, а некоторые системы наоборот блокируют реферер, т.е. удар будет по честным, но пароноидальным пользователям, а упорного злоумышленика остановить не получится. А вообще в связи с чем возникла проблема, что хотите предотвратить (быстрое и легкое воровоство контента сторонними ресурсами)?
PS JQuery да, она с клиентской строны работает, она не пробьется через этот запрет. | |
|
|
|
|
|
|
|
для: cheops
(15.03.2011 в 23:32)
| | как такой вариант с передачей хеша и проверки других параметров?
session_start();
$hash = isset($_POST['hash'])?$_POST['hash']:'';
$secCode = 'qwerty-1';
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' && isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], DOMEN) !== FALSE && $hash != '' && md5($secCode.session_id()) == $hash){
echo '1';
}else{
echo 'Hacking attempt!';
exit();
}
|
П.С. Интересует также - реализация авторизации пользователя с помощью jquery бредовая идея или нет? Встречал такую реализацию просто. | |
|
|
|
|
|
|
|
для: TetRiska
(15.03.2011 в 23:45)
| | Сессия это хорошо, но тоже возможна подделка, а реферер лучше уберите - многие FireWall-ы его режут, заблокируете сервис для обычных посетителей, которые не будут понимать, почему ничего не работает. | |
|
|
|