Задать вопрос
@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 пропускает только цифры
  • Вопрос задан
  • 552 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Будьте проще $idq = intval($_GET ['id']);
Ответ написан
Комментировать
kirill_782
@kirill_782
Днем я Маринетт
Во-первых редикт не совсем хороший
Лучше сделать так: header ("Location: $url");
Во-вторых если строку закончить цифрой, то она вернет true.
Если вам надо подсчитать отношение цифр к бкувам, то лучше спарсить цифры регулярокй и сравнить с общим числом (предварительно обрезав из начала и конца пробелы).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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