[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: экранирование при добавлении в базу
beby11
Я добавляя данные в базу сначала редоктирую тект визульным редактором. И перед сохранением данных в базу нужно экранировать опасные символы вот так.

$text = htmlspecialchars($text);

после сохранения все теги что создал визуальный редактор (<p></p><b></b>), htmlspecialchars экранирует и получается примерно - (&lt;p&gt;). Если не экранировать, это опасно? Как можно решить данную проблему.



Спустя 3 минуты, 48 секунд (24.11.2011 - 17:37) bulgakov написал(а):
Не знаю какой вы базой пользуйтесь, вот для mysql есть такая функция как - mysql_real_escape_string(), а вообще зачем вам в базе тэги? храните в базе чистый текст, через strip_tags тэги в базе это я считаю лишний мусор, их потом можно смело добавить после выборки из базы при выводе на страницу. Так что как вариант можно использовать: mysql_real_escape_string(trim(strip_tags($data)))

Спустя 1 минута, 40 секунд (24.11.2011 - 17:38) Ramzil_Nixon написал(а):

mysql_query = ("INSERT INTO `table_name` SET
`text` ='".@mysql_real_escape_string($text)."'
") or die(mysql_error());


Зачем же все усложнять, если можно прямо при записи все экранировать. А на счета твоего вопроса, может у тебя кодировка не правильная?

А htmlspecialchars(); лучше всего наоборот, при выводе использовать

Спустя 4 минуты, 17 секунд (24.11.2011 - 17:43) m4a1fox написал(а):
Ramzil_Nixon
Эка ты весело с БД работаешь?! smile.gif Зачем подавлять ошибки знаком @, для
mysql_real_escape_string?

Спустя 2 минуты, 42 секунды (24.11.2011 - 17:45) Ramzil_Nixon написал(а):
ну а если ошибка будет, то вместо его текста на БД запишет текст ошибки. smile.gif

Спустя 31 секунда (24.11.2011 - 17:46) m4a1fox написал(а):
Ramzil_Nixon
smile.gif А почему ошибка будет?!

Спустя 1 минута, 52 секунды (24.11.2011 - 17:48) Ramzil_Nixon написал(а):
Меня здесь так учили, я так и пишу, когда учили мне перед mysql_real_escape_string() ставляли @ вот и придерживаюсь к тому, к чему учили smile.gif

Спустя 8 минут, 43 секунды (24.11.2011 - 17:57) Winston написал(а):
Цитата (Ramzil_Nixon @ 24.11.2011 - 16:48)
Меня здесь так учили, я так и пишу

Наверное тебя учили такие же знатоки как и ты smile.gif



Спустя 4 минуты, 1 секунда Winston написал(а):
Цитата (Ramzil_Nixon @ 24.11.2011 - 16:38)
mysql_query = (

biggrin.gif



Спустя 28 секунд Winston написал(а):
Наверное тебя joinek_comp учил smile.gif

Спустя 4 минуты, 49 секунд (24.11.2011 - 18:01) Ramzil_Nixon написал(а):
Ну не знаю, меня imbalance_hero, так учил. вот blink.gif

Спустя 47 секунд (24.11.2011 - 18:02) Winston написал(а):
Цитата (Ramzil_Nixon @ 24.11.2011 - 17:01)
Ну не знаю, меня imbalance_hero, так учил. вот

Не верю !
Может ты вообще не так понял просто.

Спустя 28 секунд (24.11.2011 - 18:03) m4a1fox написал(а):
Ramzil_Nixon
Цитата
Меня здесь так учили, я так и пишу

Интересно кто!? Сколько здесь нахожусь - ни разу не встречал такой реализации?! Совет! Почитай про mysql_real_escape_string() - гляди и поймешь чего мы прикалываемся!

Спустя 47 секунд (24.11.2011 - 18:03) m4a1fox написал(а):
Ramzil_Nixon -
Цитата

Ну не знаю, меня imbalance_hero, так учил. вот

Чет не верится! Покажи где такое он использовал! Я возьму свои слова назад!

Спустя 3 минуты, 58 секунд (24.11.2011 - 18:07) Ramzil_Nixon написал(а):
А нет оказывается, в уроках @ не было biggrin.gif

Но где-то в этом форуме я подхватил такое sad.gif

Спустя 5 минут, 43 секунды (24.11.2011 - 18:13) m4a1fox написал(а):
Ramzil_Nixon
Цитата
подхватил такое

Ну это волчанка, сто процентов!

Спустя 1 минута, 53 секунды (24.11.2011 - 18:15) Ramzil_Nixon написал(а):
m4a1fox
Цитата (m4a1fox @ 24.11.2011 - 15:13)
Ну это волчанка, сто процентов!


Да не помню уже. Но в этом форуме это точно

Спустя 4 минуты, 54 секунды (24.11.2011 - 18:20) beby11 написал(а):
хватить гнать друг на друга пацаны. Вопрос в базу данные добавляю не я а пользователь на сайте. Если не экранировать, с базой не чего небудет, это не опасно. Люди разные бывают.

Спустя 4 минуты, 51 секунда (24.11.2011 - 18:25) bulgakov написал(а):
Ramzil_Nixon
Ты все таки внимательнее на код свой посмотри и постарайся таких ошибок не допускать.
Цитата
mysql_query = ("INSERT INTO `table_name` SET
                        `text`    ='".@mysql_real_escape_string($text)."'
                        ") or die(mysql_error());


Спустя 1 минута, 13 секунд (24.11.2011 - 18:26) bulgakov написал(а):
beby11
Как я и другие тебе тут уже написали используй mysql_real_escape_string() ну и strip_tags() в придачу можно я думаю.

Спустя 5 минут, 59 секунд (24.11.2011 - 18:32) Winston написал(а):
Можно и без strip_tags, а на выводе использовать htmlspecialchars

Спустя 1 минута, 46 секунд (24.11.2011 - 18:34) m4a1fox написал(а):
beby11
Цитата
хватить гнать друг на друга пацаны
А кто гонит?! Это процесс обучения такой! Практически всегда! biggrin.gif

Спустя 1 минута, 41 секунда (24.11.2011 - 18:35) johniek_comp написал(а):
Ramzil_Nixon
Цитата
Да не помню уже. Но в этом форуме это точно


может от меня? smile.gif

хотя не....я такого не пишу точно
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.