- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
С остальным справится strip_tags и htmlspecialchars
Зачем перед добавлением в базу делать strip_tags и htmlspecialchars?
Мне интересно какая база рендерит html? Хотя допускаю, что возможно такая есть, но это не MySQL :)
Хотя допускаю, что возможно такая есть, но это не MySQL :)
У меня все базы - текстовые. Одна строка - одна запись. Я еще вырезаю двойные пробелы и переносы строк. )) Привычка максимально все контролировать.
Году в 2005 htmlspecialchars у меня это помогал не пропустить в базу комментариев код и ссылки, когда написал первый свой чат. Сейчас смотрю, используют mysql_real_escape_string() от sql инъекций.
Сейчас смотрю, используют mysql_real_escape_string() от sql инъекций.
Это не сейчас, использование этой функции устарело очень давно. Более того, начиная с php 7.0.0, который уже немного устарел, эта функция вообще удалена и её вызов будет вызывать ошибку.
---------- Добавлено 10.12.2019 в 10:57 ----------
Сейчас вместо этой функии mysqli_real_escape_string(), но лучше использовать семейство pdo.
Сейчас смотрю, используют mysql_real_escape_string() от sql инъекций.
mysqli_real_escape_string(), давно уже вместо функций mysql_ используются функции mysqli_ по соображениям безопасности.
как раз ваш вариант очень редкий и может быть использован с сильными оговорками. Мы не знаем как нам в дальнейшем придётся обрабатывать данные.
Категорически не согласен!
Если данные получают из POST или тем более GET, то заранее известно какими они должны быть. Как и в случае у ТС. И уж точно незачем писать в базу всякие eval и тп. если там должны быть числа или текст.
---------- Добавлено 10.12.2019 в 11:29 ----------
Зачем перед добавлением в базу делать strip_tags и htmlspecialchars?
Хотя бы в целях безопасности. Особенно если к базе можно подключится из вне.
Я подозреваю, что и на большинстве шаредах можно подключиться к "соседнему акку" зная данные коннекта.
Я подозреваю, что и на большинстве шаредах можно подключиться к "соседнему акку" зная данные коннекта.
Если кто-то подключится к вашей базе, то он и так туда запишет, что захочет.
Если кто-то подключится к вашей базе, то он и так туда запишет, что захочет.
Так никто с этим и не спорит.
Речь не о возможности что-то сделать подключившись, а о получении доступа с пом таких грязных запросов и хранением их в базе.
У меня все базы - текстовые. Одна строка - одна запись. Я еще вырезаю двойные пробелы и переносы строк. )) Привычка максимально все контролировать.
Я тут добавлю, что у каждой базы свои моменты по экранированию, у той же монги аналогом SQL-инъекций является передача массивов вместо целых и строк. Но это вопросы, которые решаются на этапе отправке через соответствующие иснтрументы. strip_tags и htmlspecialchars в рамках задачи ТС не имеют смысла, так как база не выполняет код.
При выводе в браузер - да, тут нужно переводить в html-сущности.
> Я еще вырезаю двойные пробелы и переносы строк
По идее, здесь важен вопрос именно экранирования. То есть, \n должно быть заменено на \\n и тогда длинные тексты будут иметь практически первоначальный вид после получения из базы. Но этот момент нужно протестировать.
---------- Добавлено 10.12.2019 в 14:26 ----------
Речь не о возможности что-то сделать подключившись, а о получении доступа с пом таких грязных запросов и хранением их в базе.
Опишите, пожалуйста, способ каким образом можно получить доступ к помощью пхп- или хтмл-тегов, которые будут в тексте, сохраняемом в базе?
Вы собираетесь писать сами json в базу :) ? Не разбирая на поля ? Смысла в этом ноль.
А если планируете разбирать, то валидацию делать неизбежно придется.
Валидацию вообще придется делать, как ни крути.
Не разбирая на поля ? Смысла в этом ноль.
Теоретически Mysql поддерживает работу c json. Если говорить о других базах, то Mongodb через json и работает, там все запросы на основе массивов идут.
Но это теоретизирование :)