Безопасно ли использовать Wymeditor на живом сайте? Может ли автоматический скрипт отключить JavaScript?
Мне любопытно, что эти страницы защищены паролем, но это заставило меня задуматься. Я экспериментирую с плагином Wymeditor J-Query, он работает довольно хорошо и имеет дело с попытками сценариев XSS путем автоматического преобразования угловых скобок в символы HTML и т. Д.
Очевидно, что при прямом доступе пользователь может отключить JavaScript, а затем вставлять любые вредоносные теги в БД. Однако мне интересно, возможно ли для автоматизированного сценария отключить JavaScript, если ему удастся купить защиту паролем, и, таким образом, вставить вредоносные сценарии в БД, которые затем будут запускаться, когда информация о БД будет отображаться на другой странице?
* ОБНОВИТЬ *
Я, наверное, должен был немного расшириться. Я бы обычно использовал strip_tags() и использовал подготовленные операторы, однако, чтобы Wymeditor был полезен для клиента, тогда я не могу использовать strip_tags(). Я знаю, что мог бы написать некоторый код для удаления любого вредоносного контента, но я не уверен, сколько вредоносного контента я бы искал, я предполагаю, что атаки XSS намного разнообразнее, чем просто < script >делать плохие вещи< script >,
2 ответа
Правило № 1: никогда не доверяйте данным пользователя.
Следствие: все, что исходит от клиентской стороны, является пользовательскими данными, независимо от того, какие меры принимает браузер на вашей странице (автоматический сценарий может вообще не запускать JS или может вводить поля формы, отсутствующие на вашей странице).
Таким образом, хотя редактор JS не делает сайт менее безопасным, он также не обеспечивает никакой дополнительной безопасности: меры на стороне клиента (такие как фильтрация входных данных JS) предназначены только для удобства пользователя и обеспечивают абсолютно нулевую защиту; вам нужно санировать пользовательский ввод на стороне сервера, независимо от стороны клиента.
Вам следует check your data upon insert
в базу данных... никакой сценарий на стороне клиента не может защитить вас. Wymeditor может упростить ввод и может помочь, но не защитит вас от вредоносных фрагментов кода, которые некоторые хакеры попытаются вставить. Таким образом, вы должны выполнить проверку на стороне сервера.