Риски использования PHP eval для математики строк

У меня есть вопрос о eval() риски безопасности

Это мой собственный код

<?php

$str = 'nabi<'.$_GET['hackme']; // $_GET['hackme']=2;

$str = str_replace("nabi", 1, $str);

$hmm = eval('return ('.$str.');');

if($hmm){
echo 'yeah';
}
else{
echo 'no';
}

Результат будет:

yeah

Мой код работает хорошо

Это то, что я хочу!

Но я боюсь угроз безопасности!

Пожалуйста, предложите новое решение

-4

Решение

Если все, что вы делаете, это проверка, если что-то меньше 1, введите Typecast $_GET['hackme'] в int или double.

$str = 'nabi<' . (int) $_GET['hackme'];
1

Другие решения

Безопасность нулевая … Каждый код передан hackme будет выполнен.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector