Если у меня есть поля, которые будут только когда-либо отображаться пользователю, который вводит их, есть ли какая-либо причина санировать их против сценариев перекрестного сайта?
Править: Таким образом, согласие ясно, что оно должно быть санировано. То, что я пытаюсь понять, то, почему? Если единственный пользователь, который может когда-либо просматривать сценарий, который они вставляют в сайт, является самим пользователем, то единственная вещь, которую он может сделать, выполняют сценарий сам, который он мог уже обойтись без моего включаемого сайта. Что угроза является вектором здесь?
Тот факт, что вы не показываете кому-то поле, не означает, что потенциальный Black Hat не знает этого они там. Если у вас есть потенциальный вектор атаки в вашей системе, закройте брешь. Будет действительно сложно объяснить своему работодателю, почему вы этого не сделали, если это когда-либо использовалось.
Да , всегда дезинфицировать ввод данных пользователем:
Ключевым моментом является 1 .
Если сценарий или служба, в которую форма отправляет значения, доступны через Интернет, то любой и в любом месте может написать сценарий, который будет отправлять ему значения. Итак: да , очистить все полученные входные данные.
Самая основная модель веб-безопасности довольно проста:
Не доверяйте своим пользователям
Также стоит дать ссылку на мой ответ в другом сообщении ( Шаги, чтобы стать опытным в веб-безопасности ): Как стать специалистом по веб-безопасности .
Не могу поверить, что ответил, не коснувшись вопроса заголовка:
Есть ли какая-то причина для дезинфекции пользовательского ввода, чтобы предотвратить их самостоятельное создание межсайтовых скриптов?
Вы не ] предотвращая межсайтовый скриптинг пользователя , вы защищаете свой сайт (или, что более важно, сайт вашего клиента ) от того, чтобы стать жертвой перекрестного -сайт скриптинг. Если вы не закроете известные дыры в безопасности, потому что вас не беспокоят, будет очень сложно получить повторный бизнес. Или хорошая устная реклама и рекомендации от предыдущих клиентов.
Думайте об этом не столько как о защите вашего клиента, думайте об этом - если это помогает - как о защите вашего бизнеса .