|
Заблокирован
|
|
Список уязвимостей при сохранении текста на сайте24.12.2016, 16:06. Показов 1502. Ответов 16
Метки нет (Все метки)
Нужно дать возможность посетителю сайта сохранить текст, который может содержать примеры кода. Нет проблем если он пишет или копипастит в contenteditable div, там при переносе в textarea браузер автоматом заменяет так как нужно. Например: <script> меняется на <script> <?php ... ?> на <?php ... ?>
Но пользователь может непосредственно редактировать textarea(не всегда браузер расставляет теги так как хочется). Есть ссыль где посмотреть список того, что нужно отсекать от сохранения в том виде как есть? два случая я привел. Этого достаточно или еще есть опасные теги?
0
|
|
| 24.12.2016, 16:06 | |
|
Ответы с готовыми решениями:
16
Форматирование текста при сохранении
|
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|||||||||||
| 24.12.2016, 16:23 | |||||||||||
|
Перед сохранением в бд экранировать мредствами модуля для работы с бд, либо использовать подготовленные выражения.
0
|
|||||||||||
|
Заблокирован
|
||
| 24.12.2016, 16:31 [ТС] | ||
|
Jewbacabra, про экранирование для базы я понимаю. Волнует обратный вывод в браузер. js будет исполнен. что там еще может быть vbs какойнибудь. если он жив конечно. возможно есть этот список. то чего нельзя отдавать в браузер в чистом виде, а чтобы браузер отобразил это в виде кода.
Добавлено через 1 минуту
0
|
||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|||||||
| 24.12.2016, 16:35 | |||||||
0
|
|||||||
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
|
| 24.12.2016, 16:35 | |
|
0
|
|
|
Заблокирован
|
||
| 24.12.2016, 17:02 [ТС] | ||
|
Старинные, экзотические типа vbscript еще чего-нибудь. просто список. Не знаете? ну и ладно.
0
|
||
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,913
|
|
| 24.12.2016, 20:47 | |
|
1
|
|
|
Заблокирован
|
|
| 24.12.2016, 21:02 [ТС] | |
|
хочу сам определять что идет в htmlspecialchars, а что остаётся. Т.е. htmlspecialchars, только мой собственный.
0
|
|
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,913
|
|
| 24.12.2016, 21:25 | |
|
nazaarych, может вам просто BBCode использовать? Стилевые теги ([b], [u], [i] и т.п.) перед выводом заменяем на html-теги. А если юзер напишет что-то внутри тега [code] - выводим в специальном оформлении, с подсветкой синтаксиса и т.п.
0
|
|
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
| 24.12.2016, 21:59 | |
|
nazaarych, может это подойдет HTML Purifier?
0
|
|
|
Заблокирован
|
||
| 25.12.2016, 15:17 [ТС] | ||
|
1. <script 2. <?php 3. так далее мне кажется этот список где-то должен быть. Я не должен отсекать все подозрительное, а только реально угрожающее. Я сам принимаю решение оставляю я этот код или нет. И принцип создаваемой программы - ни строчки от сторонних разработчиков
0
|
||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||
| 25.12.2016, 15:24 | ||||
|
0
|
||||
|
Заблокирован
|
||||
| 25.12.2016, 15:35 [ТС] | ||||
|
0
|
||||
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
||
| 25.12.2016, 15:45 | ||
|
0
|
||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||||
| 25.12.2016, 16:11 | ||||||||
|
Не по теме:
Кликните здесь для просмотра всего текста
Т.е. в данном случае удаление небезопасных тегов не является "кодом по теме"?
В таком случае и php нельзя пользоваться, он ведь тормозит по сравнению C. Может проще сразу писать качественный код на C (ассемблере, машинных кодах, решать задачи на аппаратном уровне). Частично согласен, но до велосипедостроения тоже опускаться не стоит. Готовые решения заведомо протестированы многими людьми в различных ситуациях, баги найдены и исправлены. Свои же велосипеды этим похвастаться не могут, перед их использованием придется уделить много времени тестированию. Не стоит забывать и про скорость разработки, ведь час работы программиста стоит на порядок больше железа. В любом случае если вдруг окажется что приложение тормозит именно из-за конкретной библиотеке, ее можно будет заменить или написать свое решение. Добавлено через 20 минут Если все же хочется сделать именно самому, то рекомендую вместо регулярок использовать DOMDocument. Но учти что учитывать надо не только теги, но и аттрибуты. Например, даже удалив теги script все еще можно использовать вредоносный js код:
1
|
||||||||
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
|
| 25.12.2016, 16:11 | |
Сообщение было отмечено nazaarych как решение
Решение
nazaarych, может, лучше сделать набор разрешенных тегов, причем без всяких атрибутов, а то придется бороться с навешиваемыми событийными JS-обработчиками и т.п.
1
|
|
|
Заблокирован
|
||||||||
| 25.12.2016, 16:27 [ТС] | ||||||||
|
хотите говнокода в пыхе нате
Добавлено через 2 минуты Добавлено через 6 минут miketomlin, Jewbacabra, Jodah, спасибо за обсуждение
0
|
||||||||
| 25.12.2016, 16:27 | |
|
Помогаю со студенческими работами здесь
17
Ошибка при сохранении русского текста в базу данных
Кодировка при сохранении текста из memo в буфер обмена Пропал боковой список при сохранении, открытии файла в office 2007 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла:
Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
|