Ответ в соседнюю, почему-то снова закрытую тему. Нет, это демагогия. В общем случае, для защиты от XSS как минимум придется довольно долго искать особенности HTML/JS парсеров конкретных браузеров, потому что все остальное - это не защита от XSS, а отказ от предоставления услуг пользователю, ввиду не знания того, как от него защититься. И Точка. Самое полезное регулярное выражение, с которым я когда либо сталкивался. Надо записать на бумажку. Это все не так. Технику защиты от PHP-инъекций вы тут грамотно не раскрыли. Хотя ответы действительно на все уже даны, только вот не в этой теме. Самый главный вывод, который следует из той статьи звучит так: Любое веб приложение можно защитить от любой атаки, отличной от атаки грубой силой, если писать его, зная язык программирования, на котором ты его пишешь и протоколы, по которым общается твое приложение с сервером и клиентом. Все. Это необходимое и достаточное условие. Видите ли, "SQL-инъекции", "PHP-инъекции", "XSS" не есть область информационной безопасности. Все эти проблемы исчезают ровно тогда, когда человек перестает быть студентом/самоучкой и становится программистом. У него уже рука просто-напросто не повернется написать код с широко известными вам всем дырами, потому что это элементарные вещи, вы все здесь играете в детский сад. Но вас так много, что вам кажется, что это нормально. Это ненормально. Все уязвимости, которые вы рассматриваете, в строгом смысле уязвимостями называть нельзя. Просто код с такими уязвимостями написан человеком, который не владеет стандартами, которыми пытается оперировать, а значит программистом считаться и не может.
Эта фраза говорит о том, что ты не понял о чем идет речь. Нет никаких примеров защиты. Есть примеры функциональных программ, предоставляющих пользователю некоторые интерактивные возможности. Грамотность написания таких программ предполагает его "защиту" как неотъемлемую часть. Такие приложения у меня есть, но их код закрыт для широкой общественности, так что, к сожалению, помочь вам могу лишь наводящими фразами, ваша же задача понять о чем идет речь, это не так сложно.
+технологии используемые приложением 2NOmeR1 методики защиты скриптов для большинства пхп-программ вполне стандартные, но конкретны для каждой задачи. задача обеспечения безопасности естественно сводиться к задаче наложения определенных ограничений, делающих недоступным нежелаемое поведение пользователя-потенциального взломщика. ну, а задача наложений ограничений сводится к нескольким требованиям описанных DWORD'ом, не ясно какие могут быть вопросы? скажу одно - если возникают противоречивые требования ограничений, то проблема, очевидно, в самом проектировании приложения. если вам необходимо обрабатывать комментарии не как бб-теги, не как плайн-текст, а, например, как в жж, то совет об использовании htmlspecialchars отпадает - необходимо использовать встроенную технологию поиска\замены регулярных выражений, в каких-то ситуациях непосредственный и ручной парсинг - конечные автоматы и тп все за вас никто писать не будет: во-первых, есть готовые решения, во-вторых, никто не знает, что вам именно нужно.
>> Любое веб приложение можно защитить от любой атаки, отличной от атаки грубой силой, если писать его, зная язык программирования, на котором ты его пишешь и протоколы, по которым общается твое приложение с сервером и клиентом. ты как то все очень идеализируешь.. в том смысле, что утверждаешь, что можно создать идеальное с точки зрения безопасности веб-приложение любой сложности.. в теории, это может и возможно, но на практике на 100% это никогда недостижимо.. по такой простой причине, как ограниченность ресурсов при реализации любой задачи, будь то создание веб-приложения или чего-угодно еще.. >> Такие приложения у меня есть, но их код закрыт для широкой общественности смелое утверждение.. ) обычно какую-либо разработку можно считать безопасной как раз только после того как она будет изучена широкой общественностью и пройдет проверку временем..
Пример: некто пишет веб-приложение, зная только php, html и http; И получает XSS-уязвимость, хотя "необходимое и достаточное условие" было соблюдено. С остальным согласен.
На мой взгляд безопасность состоит не только в грамотно написаном приложении, но и от других факторов ... например правильном конфиге сервера . Ведь может получиться так что программер создал скрипт, а танкист админ неучёл всех нюансов ... А человечиский фактор это распространнёная уязвимость -)
Так в том то и дело, что "программер" должен учитывать все ньансы (по мере возможности),в том числе и админа танкиста
Dword, ты меня потряс собственной ограниченностью. Извини, если обидел. В данном случае мой код может быть и не идеален, но я на это и не претендую, зато я гарантирую, что те коды, которые я выкладываю - устойчивы к взлому. Единственное, что ты делаешь - это заявляешь, что все - говно. Т.е. просто кормишь свое самолюбие. Ну-ну, продолжай в том же духе. Я еще ни разу не видел ни одного полезного сообщения от тебя. Ты пишешь исходя из какой-то виртуально созданной тобой объективности, в то время как для всех остальных существует лишь конкретный контекст, данный случай это показывает. В теме я писал свой код как помощь и ответ автору на поставленные вопросы. С этой задачей я справился вполне успешно. Код, написанный с использованием моих идей был бы неуязвим, в этом я уверен. Надеюсь, что был убедителен.