Вопрос о php, js и mysql

Dreammaker
На сайте с 20.04.2006
Offline
569
#11
DiKiJ:
С остальным справится strip_tags и htmlspecialchars

Зачем перед добавлением в базу делать strip_tags и htmlspecialchars?

Мне интересно какая база рендерит html? Хотя допускаю, что возможно такая есть, но это не MySQL :)

D.iK.iJ
На сайте с 26.05.2013
Offline
239
#12
Dreammaker:
Хотя допускаю, что возможно такая есть, но это не MySQL :)

У меня все базы - текстовые. Одна строка - одна запись. Я еще вырезаю двойные пробелы и переносы строк. )) Привычка максимально все контролировать.

Году в 2005 htmlspecialchars у меня это помогал не пропустить в базу комментариев код и ссылки, когда написал первый свой чат. Сейчас смотрю, используют mysql_real_escape_string() от sql инъекций.

Адаптивный дизайн в 2 строчки ( https://dikij.com/wm/adaptaciya-saytov.php ). + Принимаю заказы любой сложности ( https://searchengines.guru/ru/forum/926323 ). 💎 Еще я делаю классные кулоны с опалами ( https://mosaicopal.ru/ ).
Dreammaker
На сайте с 20.04.2006
Offline
569
#13
DiKiJ:
Сейчас смотрю, используют mysql_real_escape_string() от sql инъекций.

Это не сейчас, использование этой функции устарело очень давно. Более того, начиная с php 7.0.0, который уже немного устарел, эта функция вообще удалена и её вызов будет вызывать ошибку.

---------- Добавлено 10.12.2019 в 10:57 ----------

Сейчас вместо этой функии mysqli_real_escape_string(), но лучше использовать семейство pdo.

S
На сайте с 30.09.2016
Offline
469
#14
DiKiJ:
Сейчас смотрю, используют mysql_real_escape_string() от sql инъекций.

mysqli_real_escape_string(), давно уже вместо функций mysql_ используются функции mysqli_ по соображениям безопасности.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
SeVlad
На сайте с 03.11.2008
Offline
1609
#15
Dreammaker:
как раз ваш вариант очень редкий и может быть использован с сильными оговорками. Мы не знаем как нам в дальнейшем придётся обрабатывать данные.

Категорически не согласен!

Если данные получают из POST или тем более GET, то заранее известно какими они должны быть. Как и в случае у ТС. И уж точно незачем писать в базу всякие eval и тп. если там должны быть числа или текст.

---------- Добавлено 10.12.2019 в 11:29 ----------

Dreammaker:
Зачем перед добавлением в базу делать strip_tags и htmlspecialchars?

Хотя бы в целях безопасности. Особенно если к базе можно подключится из вне.

Я подозреваю, что и на большинстве шаредах можно подключиться к "соседнему акку" зная данные коннекта.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
Dreammaker
На сайте с 20.04.2006
Offline
569
#16
SeVlad:
Я подозреваю, что и на большинстве шаредах можно подключиться к "соседнему акку" зная данные коннекта.

Если кто-то подключится к вашей базе, то он и так туда запишет, что захочет.

SeVlad
На сайте с 03.11.2008
Offline
1609
#17
Dreammaker:
Если кто-то подключится к вашей базе, то он и так туда запишет, что захочет.

Так никто с этим и не спорит.

Речь не о возможности что-то сделать подключившись, а о получении доступа с пом таких грязных запросов и хранением их в базе.

Dreammaker
На сайте с 20.04.2006
Offline
569
#18
DiKiJ:
У меня все базы - текстовые. Одна строка - одна запись. Я еще вырезаю двойные пробелы и переносы строк. )) Привычка максимально все контролировать.

Я тут добавлю, что у каждой базы свои моменты по экранированию, у той же монги аналогом SQL-инъекций является передача массивов вместо целых и строк. Но это вопросы, которые решаются на этапе отправке через соответствующие иснтрументы. strip_tags и htmlspecialchars в рамках задачи ТС не имеют смысла, так как база не выполняет код.

При выводе в браузер - да, тут нужно переводить в html-сущности.

> Я еще вырезаю двойные пробелы и переносы строк

По идее, здесь важен вопрос именно экранирования. То есть, \n должно быть заменено на \\n и тогда длинные тексты будут иметь практически первоначальный вид после получения из базы. Но этот момент нужно протестировать.

---------- Добавлено 10.12.2019 в 14:26 ----------

SeVlad:
Речь не о возможности что-то сделать подключившись, а о получении доступа с пом таких грязных запросов и хранением их в базе.

Опишите, пожалуйста, способ каким образом можно получить доступ к помощью пхп- или хтмл-тегов, которые будут в тексте, сохраняемом в базе?

_
На сайте с 24.03.2008
Offline
381
#19

Вы собираетесь писать сами json в базу :) ? Не разбирая на поля ? Смысла в этом ноль.

А если планируете разбирать, то валидацию делать неизбежно придется.

Валидацию вообще придется делать, как ни крути.

Dreammaker
На сайте с 20.04.2006
Offline
569
#20
_SP_:
Не разбирая на поля ? Смысла в этом ноль.

Теоретически Mysql поддерживает работу c json. Если говорить о других базах, то Mongodb через json и работает, там все запросы на основе массивов идут.

Но это теоретизирование :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий