Опасно ли echo $_GET['Parametr']

Роберт

Аналитик
Опасно ли echo $_GET['Parametr']

Подскажите - опасно ли выполнять прямой вывод параметров , типа:
PHP:
echo $_GET['Parametr']
То , что пользователь введёт что-то типа:
http://сайт.ру/index.php?Parametr=<script>alert(cooces)</script>
это не страшно. У меня нет паролей или чего-то ещё, что можно перехватывать. Как мне кажется - заставить сайт вытянуть скрипты или что-то другое с сайта - таким образом нельзя. Значит в общем - то безопасно?
 

Фанат

oncle terrible
Команда форума
Определись, пожалуйста, с понятием "безопасность".
Если у тебя в квартире нет дверей, но при этом в ней нет и ничего ценного - такая квартира автоматически считается безопасной?
 

Роберт

Аналитик
alexhemp
А есть ли смысл использовать htmlspecialchars? Достаточно ведь просто заменить "<" на "&lt;" и уже будет невозможно выполнить какой-либо javascrip! Замена других символов тогда получается излишней...
 

Фанат

oncle terrible
Команда форума
можешь не использовать, если тебе так не хочется.
 

master_x

Pitavale XXI wieku
А есть ли смысл использовать htmlspecialchars? Достаточно ведь просто заменить "<" на "&lt;" и уже будет невозможно выполнить какой-либо javascrip! Замена других символов тогда получается излишней...
ну тогда пиши свой htmlspecialchars :) :) :)
 

Роберт

Аналитик
sakon
А вопрос считай - минимум для 100 процентной безопасности.
Я так понимаю что заменой "<" на "&lt;" она достигнута. Тогда остальное излишне. Или я ошибаюсь?
 

Фанат

oncle terrible
Команда форума
мне нравятся такие топики.
когда афтар ставит себя так, что его все уговаривают
а он только лениво отмахивается =)
 

sakon

П..и.н..ок
Роберт
Вы извращенец?
Значит написать
PHP:
echo htmlspecialchars($_GET['Parametr'];
сложнее, чем написать функцию замены?
 

Роберт

Аналитик
sakon
Я ведь про минимум необходимый для безопасности , а не о том что проще написать.
 

jdoe

Новичок
а какой смысл, имея на двери нормальный замок, не пользоваться им и прибивать гвоздями щеколду? =)
 

Роберт

Аналитик
jdoe
Я то вопрос спросил про достаточность замены "<".
А уже удобство использования той или иной функции - это сугубо личное (хочешь - можешь дома изнутри квартиру на щеколодку закрывать , а хочешь - можешь ставить пин код и систему снятия отпечатков пальцев)
 

kruglov

Новичок
Еще можно делать strip_tags, а то нафига любоваться на <h1>приветики</h1>

Пускай уж лучше просто "приветики" будут

-~{}~ 16.09.05 00:29:

p.s. еще есть xss-уязвимость с использованием кодировки utf-7. Подробности легко узнаются у яндекса.
 

Роберт

Аналитик
kruglov
Ну это как бы не мешает. Я понимаю что проблема только в передаче переменных через java/vb скрипты.
 

Роберт

Аналитик
kruglov
С p.s. полностью согласен - значит к замене "<" надо ещё добавить замену "+ADw-" и тогда всё будет надёжно , а не так как с этим htmlspecialchars :)
 

kruglov

Новичок
Роберт
Ну, это не совсем так, просто надо конструировать страницу так, чтобы браузеру не пришло в голову определить ее кодировку как utf-7. Например, вставить <meta> или русский текст выше любого включения ненадежного текста.

К примеру, уязвимым является код
<title>PHP Club forums: - <?=$user_posted_topic_title?></title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">

Уязвимости нет:
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title>PHP Club forums: - <?=$user_posted_topic_title?></title>

и
<title>PHP Club форумы: - <?=$user_posted_topic_title?></title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">

-~{}~ 16.09.05 08:53:

p.s. При условии, что $user_posted_topic_title обработан htmlspecialchars или другой какой "щеколдой".
 

Роберт

Аналитик
Проще использовать свою маленькую 100 процентно надёжную функцию чем постоянно соблюдать данные правила :)
 
Сверху