Задать вопрос
@Jony1337

Если проверять id на наличие букв можно ли обезопасить себя от sql injection?

Вот что за проверка у меня на сайте есть
function check_for_number($str) {
  $i = strlen($str); 
  while ($i--) {
    if (is_numeric($str[$i])) 
return true;
	
	  else {
 echo '<script type="text/javascript">window.location.replace("example.com");</script>';
  }
  }

}
$idq = $_GET ['id'];
check_for_number ($idq);

если вместо id у нас строка или цифры вместе с буквами у нас будет redirection , безопасно ли это ?
check_for_number пропускает только цифры
  • Вопрос задан
  • 555 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Будьте проще $idq = intval($_GET ['id']);
Ответ написан
Комментировать
kirill_782
@kirill_782
Днем я Маринетт
Во-первых редикт не совсем хороший
Лучше сделать так: header ("Location: $url");
Во-вторых если строку закончить цифрой, то она вернет true.
Если вам надо подсчитать отношение цифр к бкувам, то лучше спарсить цифры регулярокй и сравнить с общим числом (предварительно обрезав из начала и конца пробелы).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы