PHP/MySQL | норм защита от sql inj или не
Если проект расчитан на то, что не будет работать с отрицательными числами, то используют заочно абс
________
посл. ред. 12.05.2024 в 21:42; всего 1 раз(а); by _(Ulty)_
________
посл. ред. 12.05.2024 в 21:42; всего 1 раз(а); by _(Ulty)_
Дабы избежать XSS пишут свои функции фильтрации, что бы убирать вредные символы, но многие используют при выводе htmlspecialchars или strip_tags
Фильтрацию чисел так же выполняют по разному:
Регулярными выражениями
https://regex101.com/r/7B3nvn/1
filter_var FILTER_SANITIZE_NUMBER_INT
Кто-то использует abs(intval($number))
А ещё есть смысл почитать статью касаемо CSRF атаки и о способах защиты
Или ну его нахер, кто додумаетс в браузерную игру csfr атаку мутить, это вообще возможно куки украсть без хсс уязвимостей на сайте?:0
php
function jopa2($str) {
$str = intval($str);
return $str;
}это реально жопа2.)
trim() в этой всей песне выглядит особенно прекрасно
php
function jopa($str) {
$str = filter_var(trim($str), FILTER_SANITIZE_STRING);
return $str;
}норм защита строк от скл иньекций mysql на php 5.6 или неочень, не сильно шарю в безопасности...
еще такйо вариант есть, но хз в чем разница:
php
function jopa($str) {
$str = mysql_real_escape_string($str);
return $str;
}//////////////////
для чисел тоже не могу выбрать фичу из двух какая круче:
1)
php
function jopa2($str) {
$str = filter_var(trim($str), FILTER_SANITIZE_NUMBER_INT);
return $str;
}или
2)
php
function jopa2($str) {
$str = intval($str);
return $str;
}базе данных похер такие очистки в БД всё залетает в виде СТРОК
очищать нужно при выводе в браузер и то на любителя, если не хочешь XSS чтобы балдели на страницах, XSS не выполняется в БД, строка хранится в том же виде
Раньше было как-то проще, просто открываешь код дцмс и смотришь как там всё фильтруется)
https://snipp.ru/php/clear-form
Почитай на досуге. Тут уже готовый класс который можно юзать у себя в проекте
Почитай на досуге. Тут уже готовый класс который можно юзать у себя в проекте
Я использую стандартные фильтры из дцмс
неправильное применение фильтров, ты не проверяешь данные, ты из очищаешь и зачем-то приводишь к другому типу
базе данных похер такие очистки в БД всё залетает в виде СТРОК
очищать нужно при выводе в браузер и то на любителя, если не хочешь XSS чтобы балдели на страницах, XSS не выполняется в БД, строка хранится в том же виде