у меня будет отображаться информация из БД, какая там инфа я не знаю например коментарий.
Коментарий можно добавть с любыми тегами в базу данных, но опубликован он будет когда я поставлю галочку в записи Проверено.
В админке я текст этого коментария вывожу в <textarea> Сюда!!! </textarea>я так понимаю для безопасности мне необходимо на всякий случай в выводимом текста удалить тег </textarea> если он там есть, вдруг его кто то написал, тогда текст после, может интерпритивараться уже черт знает как.
Достаточно ли для безопасности этого, т.е. чтобы неисполнить какойнибуть злобный код? А там я уже могу атредактировать комент и поставить галочку ОК, допустимо к выводу.
Спустя 9 минут, 7 секунд (1.05.2011 - 16:26) Guest написал(а):
htmlspecialchars('data from database')
Спустя 22 минуты, 7 секунд (1.05.2011 - 16:48) Xes написал(а):
Я незнаю по каким причинам но эта функция у меня не работает. Она гденибуть отключаеться? Ну и обратная ей тоже которая декодирует....
Это кнечно первое что в голову пришло их юзать. Но как их включить?
Это кнечно первое что в голову пришло их юзать. Но как их включить?
Спустя 40 минут, 38 секунд (1.05.2011 - 17:29) walerus написал(а):
Не может такого быть, какие ошибки выдает скрипт при использовании htmlspecialchars ?
Спустя 4 минуты, 45 секунд (1.05.2011 - 17:34) sebastjan написал(а):
я бы добавил вот ещё что, при записи с БД использовать mysql_real_escape_string
Спустя 24 минуты, 53 секунды (1.05.2011 - 17:59) Xes написал(а):
<?php
error_reporting(E_ALL);
// Данные для mysql сервера
$dbhost = 'localhost'; // Хост
$dbuser = 'admin'; // Имя пользователя
$dbpassword = '123'; // Пароль
$dbname = 'listhotel'; // Имя базы данных
// Подключаемся к mysql серверу
$db = @mysql_connect($dbhost, $dbuser, $dbpassword);
// Выбираем нашу базу данных
@mysql_select_db($dbname, $db);
// Параметры обмена, конвертации данных
@mysql_query("SET CHARACTER SET 'utf8'");
@mysql_query("set collation_connection='utf8_general_ci'");
$new1='<a href="Привет Тут текст C:/ g[g % & "</a> Ntrnc <br><b>nnnn</b>';
$new = htmlspecialchars($new1);
echo $new;
?>
Выводит тоже самое что в $new1.
Спустя 39 минут, 10 секунд (1.05.2011 - 18:38) Guest написал(а):
Из консоли или через браузер?
Спустя 25 минут, 32 секунды (1.05.2011 - 19:03) Xes написал(а):
код в бразуере на локалке
Спустя 54 минуты, 58 секунд (1.05.2011 - 19:58) sebastjan написал(а):
Конструкция полностью рабочая , поверил.
Xes htmlspecialchars($new1); работает.
$new1='<a href="Привет Тут текст C:/ g[g % & "</a> Ntrnc <br><b>nnnn</b>';
$new = htmlspecialchars($new1);
echo $new;
Xes htmlspecialchars($new1); работает.
Спустя 1 минута, 2 секунды (1.05.2011 - 19:59) walerus написал(а):
Смотрим не по визуальному результату, по КОДУ страницы
визуальный результат
код страницы
визуальный результат
<a href="Привет Тут текст C:/ g[g % & "</a> Ntrnc <br><b>nnnn</b>
код страницы
Цитата |
<a href="Привет Тут текст C:/ g[g % & "</a> Ntrnc <br><b>nnnn</b> |
Зацитировал, т.к. броузер преобразует в нормальный вид :rolleyes:
Так вот, разницу видно ?
Спустя 6 минут, 32 секунды (1.05.2011 - 20:06) sebastjan написал(а):
Дело в том что фукция htmlspecialchars выведет в тектовом режиме хтмл код,
она и выводит
а по логике наверное надо только данные из базы преобразовать безопастно.
она и выводит
<a href="Привет Тут текст C:/ g[g % & "</a> Ntrnc <br><b>nnnn</b>
а по логике наверное надо только данные из базы преобразовать безопастно.
Спустя 41 минута, 3 секунды (1.05.2011 - 20:47) Xes написал(а):
ок спасибо, и правда в БД заглянул а там после htmlspecialchars метасимволы. И выводиться потом все нерабочим кодом.