Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

безопасное хранение HTML в MySQL?

9.6K
30 ноября 2005 года
MiKar
20 / / 06.11.2005
Приветствую!

Посоветуйте, как безопасно хранить HTML. Допустим, я хочу создать колонку новостей, причем текст новости должен быть оформлен с помощью HTML-тэгов. Я вижу два варианта:
1) В MySQL хранить имя HTML-файла с текстом новости, а сам HTML-файл загружать через специальную форму, а потом с помощью PHP выводить его в колонку новостей.
2) Хранить текст новости со всеми тэгами HTML в самой базе данных. Только не знаю, как это сделать безопасно?

Заранее благодарен за любую помощь новичку в программировании...
Михаил.
239
30 ноября 2005 года
Dolonet
1.7K / / 20.05.2000
Все очень просто. PHP имеет функцию mysql_escape_string(), которая "обезопашивает" любую строку от системных символов.
15
03 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by Dolonet
Все очень просто. PHP имеет функцию mysql_escape_string(), которая "обезопашивает" любую строку от системных символов.


Да, но тут же возникает сразу XSS дырочка:). Защита должна быть комплексной. Есть несколько вариантов.
1. Использовать что-то типа BBcode и при выводе новостей заменять их на HTML аналоги... Согласен, накладно.
2. ИМХО самый лучший. Заменять теги при вводе на BBcode, только это делать надо именно при вводе, а не заменять это после отправки формы. Далее рубишь все теги htmlspecialchars(), проходишься выше сказанной mysql_escape_string(), после этого заменяешь весь Bbcode на HTML аналог и заносишь в БД. Всё, радуешься жизни.
PS ссори за оффтоп. Товарищи, а самый важный топ "Безопасное PHP программирование" что, уже забросили? :{ :???:

239
03 декабря 2005 года
Dolonet
1.7K / / 20.05.2000
Нету никакой дырочки. Эта функция полностью обезопашивает строку, какой бы она ни была.

А что про безопасность еще хочется? Можем продолжить )
15
03 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by Dolonet
Нету никакой дырочки. Эта функция полностью обезопашивает строку, какой бы она ни была.

А что про безопасность еще хочется? Можем продолжить )


Хоть и оффтоп, но почему бы и нет?:).
<script>location.href=http://shaelf.ru</script> если занести туда, то что сделает? Тут речь идёт именно о HTML коде :)

239
03 декабря 2005 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by shaelf
Хоть и оффтоп, но почему бы и нет?:).
<script>location.href=http://shaelf.ru</script> если занести туда, то что сделает? Тут речь идёт именно о HTML коде :)

он спокойно залезет в БД и вылезет из нее. SQL запрос не пострадает.

15
03 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by Dolonet
он спокойно залезет в БД и вылезет из нее. SQL запрос не пострадает.


Запрос нет, а вывод?

239
03 декабря 2005 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by shaelf
Запрос нет, а вывод?

Вы ничего не говорили про вывод (см сабж).

15
03 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by Dolonet
Вы ничего не говорили про вывод (см сабж).


Не хотелось бы филосовствовать..., но

Цитата:
я хочу создать колонку новостей, причем текст новости должен быть оформлен с помощью HTML-тэгов

. Хотя про вывод он не чего и не говорил... Можно конечно списать на неправильный вопрос... Хотя это может быть ответом на ещё один, пока не заданный:).
Да и ещё

Цитата:
Вы ничего не говорили


"Вы" - это я или мы вдвоём? :)

239
03 декабря 2005 года
Dolonet
1.7K / / 20.05.2000
Очевидно, что ему надо было как-то запихнуть спецсимволы в мискль строку, меня и удивило некое "расширение" темы.
Я подумал, что это Ваша тема, сорри )
15
03 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by Dolonet
Очевидно, что ему надо было как-то запихнуть спецсимволы в мискль строку, меня и удивило некое "расширение" темы.
Я подумал, что это Ваша тема, сорри )


Между тем не видно хозяина тему... Аууу, отзовись.

9.6K
03 декабря 2005 года
MiKar
20 / / 06.11.2005
Цитата:
Originally posted by shaelf
Между тем не видно хозяина тему... Аууу, отзовись.


Я здесь! =)

Итак, что мне нужно:
Хочу сделать колонку новостей с помощью PHP и MySQL. При этом хочу, чтоб каждая новость была оформлена с помощью HTML-тэгов
(в т.ч. картинка). Вот и интересуюсь, как это сделать? Поискал скрипты в инете, но только они для меня довольно сложные - разобраться в чужих кодах мне пока трудновато...

15
03 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by MiKar
Я здесь! =)

Итак, что мне нужно:
Хочу сделать колонку новостей с помощью PHP и MySQL. При этом хочу, чтоб каждая новость была оформлена с помощью HTML-тэгов
(в т.ч. картинка). Вот и интересуюсь, как это сделать? Поискал скрипты в инете, но только они для меня довольно сложные - разобраться в чужих кодах мне пока трудновато...


То, что сказанно выше тебе понятно?

9.6K
03 декабря 2005 года
MiKar
20 / / 06.11.2005
Цитата:
Originally posted by shaelf
То, что сказанно выше тебе понятно?


понятно то оно - понятно, только вот опыта не хватает... А не подскажите, где можно поподробнее про BBcode почитать?
Спасибо за помощь,
Михаил.

15
03 декабря 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by MiKar
понятно то оно - понятно, только вот опыта не хватает... А не подскажите, где можно поподробнее про BBcode почитать?
Спасибо за помощь,
Михаил.


Я образно обозвал это BBcode'ом. Наглядно если, то допустим есть тэг , а делаешь кнопочку которая будет вставлять [bэ] и закрывать это [/bэ] (только "э" убери, а то он форум думает, что это для него:)), потом (после ввода и проверки) просто меняешь это на нормальный и вот и всё.
Вот тебе для затравки небольшой кодик. Разберись с ним и ты поймёшь, что на самом деле всё просто:)
function add() {
var url = prompt("адрес ссылки");
var name;
if(url) {
name = prompt("название ссылки");
}
document.n.news.value = document.n.news.value+"<a href=\""+ url + "\" target=\"_blank\">" + name + "</a>";

}

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог