Чтобы ответить на ваш вопрос, $ _GET и $ _POST должны никогда не доверять . Тем не менее, это не уязвимость, пока переменная не используется. Если вы распечатаете его print($_GET[xss])
, то у вас есть уязвимость в xss. Если вы вставите эту переменную в базу данных, а затем распечатаете ее (как сообщение на форуме), то у вас будет сохраненная xss , что еще хуже.
Вам нужно лучше понять образ мыслей атакующих. Такие переменные, как $ _GET, являются источниками taint , вызовы функций, такие как print()
и mysql_query()
, являются раковинами . Хакер ищет стоки, на которые он может повлиять с испорченными переменными. В php есть много раковин, и я рекомендую прочитать эту черную бумагу (или красную бумагу, вне зависимости от ее достоверности, а не белую ...). Обязательно прочитайте раздел «Язык против программиста».