Безопасность PHP - (int) против FILTER_VALIDATE_INT

Мне недавно сказали, что есть FILTER_VALIDATE_INT, что, кстати, здорово.

Мой вопрос связан с получением целочисленного значения с веб-сайта, может быть, от пользователя или сгенерированного из веб-приложения, и передается через строку запроса.

Значение (целое число) может отображаться или использоваться в запросе mysql.

Я пытаюсь создать для этого наилучший из возможных методов безопасности.

Имея это в виду, безопасно ли просто использовать

$myNum = (int)$_GET['num'];

или

if (filter_var($_GET['num'], FILTER_VALIDATE_INT)) $myNum = $_GET['num'];

. Также объясните, в чем разница между использованием (int) и FILTER_VALIDATE_INT

18
задан hakre 24 December 2012 в 16:44
поделиться