У меня есть вопрос о 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
Мой код работает хорошо
Это то, что я хочу!
Но я боюсь угроз безопасности!
Пожалуйста, предложите новое решение
Если все, что вы делаете, это проверка, если что-то меньше 1, введите Typecast $_GET['hackme']
в int или double.
$str = 'nabi<' . (int) $_GET['hackme'];
Безопасность нулевая … Каждый код передан hackme
будет выполнен.