Цитата:
я написал свой вопрос на форум, чтобы услышать от специалистов ответ. Но разговор поворачивается таким образом, что я всё больше отвечаю на Ваши вопросы, а не получаю ответ. Вы мыслите совершенно правильными классическими категориями, но... уже устаревшими. Известное правило "не доверять клиенту ни в чём" породило правило: "вся защита на сервере". А пробовали построить всю защиту на клиенте? имеется ввиду не при отправке данных на сервер, а при приёме. Я разработал такой механизм. Он перекрывает все известные мне уязвимости (их много). Но с "meta-refresh" есть проблемы (и то в частных случаях). Не старайтесь понять зачем мне это надо. Старайтесь помочь, если можете. |
Madzal,
это интересно. В частности, что window.stop() останавливает загрузку окна, а не последующий выполняемый скрипт. Простой тест показал положительный результат! Поисследую способ подробнее. Если будут какие-то неприятности - сообщу. Спасибо! |
Вы мыслите совершенно правильными классическими категориями, но... уже устаревшими.
Даже так, ну-ну, решайте вопросы безопасности исключительно на клиенте, оставляя сервер пассивным участником. Кошмар да и только. я всё больше отвечаю на Ваши вопросы, а не получаю ответ. Я вам уже ответил во втором посте в вопросе, но вы же пионер-первопроходец, а я консервант, вот вы и маетесь дурью. :) |
Цитата:
Вы предложили использовать htmlspecialchars . Это преобразует специальные символы в HTML-сущности. А мне не надо обезвредить ВСЕ html-теги, сделав их тупо видимыми. К тому же в тексте, отправляемом с сервера есть полезные html-теги, которые должны как положено отработать на клиенте. Я ещё мог бы согласиться с Вами, если бы предложили использовать strip_tags (удаляет HTML и PHP-теги из строки). Однако, из-за того, что strip_tags() не проверяет валидность HTML, то частичные или сломанные теги могут послужить удалением большего количества текста или данных, чем ожидалось! Просто говоря в некоторых случаях клиент увидит чистую страницу. И это плохо. Сам браузер лучше распарсит такой html, т.к. нет лучше "серверного парсера", чем сам браузер! Предположим, что скоро разработчики PHP напишут более умный серверный парсер, но... дело в том, что этого мало. На самом деле задача не просто обеспечить защиту на стороне клиента, а еще и сделать умный разбор html-тегов: распарсить все их атрибуты и все их свойства, проверить валидность и прочее. Назовите мне хотя бы 1 серверный парсер для этого? И если Вы "консервант", то попробуйте решить такую задачку (на стороне сервера): в html-коде найти все теги IMG, проверить их width и если ширина указана в px, то заменить width на "100%". 111111<img width="2000px" style="width:2000px" src=http://site.net/pic.jpg>222222Получится? - Сниму шляпу! Цитата:
|
Цитата:
Ну а то что "устаревшие понятия", то решить вопросы безопасности сервера без сервера, а веб приложение это сервер как не крути, нельзя, это объективность. А в случае описанном в данном посте, чему-то разрешить работать, то клиент вынужден постоянно парсить, анализировать, запрещать при каждой загрузке документа огромной армией пользователей, а делать это надо один раз при сохранении документа, но только более разумным, чем strip_tags, и средств для этого предостаточно. Уже с точки зрения нагрузки на клиента не разумно клиенту этим заниматься. Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Хорошая новость в том, что это работает и в Google Chrome и пресекает загрузку страницы, но не останавливает работу JS-скриптов (это хорошо). Плохая новость: IE11 при window.stop() останавливает ВСЁЁЁ! Подумываю об объединении варианта от Alexander Belov и Вашего вместе.. Вот только не хочется привязываться к конкретным браузерам. Это сейчас плохой тон. А то потом придется ещё рассматривать и разные версии этих браузеров.. |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
мы с вами на разных полюсах. и от вас всё больше эмоций, а не конкретных строк js. поэтому дальше не вижу смысла спорить.
ладно, жизнь покажет кто прав. p.s. а задачка про IMG в моем сообщении 12:15. |
Цитата:
Про IMG, ага есть такое, и не говорите - задача для REGEXP коим обладает сервер, и который намного богаче REGEXP JS, просто неразрешимая. :) |
Часовой пояс GMT +3, время: 18:43. |