2010-06-01 2 views
0

Что такое точное значение этого заявления ...диапазона параметров и значений в PHP

ПРОВЕРЯТЬ ПАРАМЕТР находится в ОЖИДАЕМОМ ДИАПАЗОНЕ И ТИПЕ.

Я передаю значения в методе POST через URL-адрес в php.

+0

Как вы переходящая в POST через URL? – Babiker

+1

Это не похоже на стандартное поведение PHP. Возможно, вы захотите проверить документацию каких-либо фреймворков, которые вы используете? – pinkgothic

+0

он ссылается на аргументы функций о их числе и аргументах типа, например, переменных. – Sarfraz

ответ

0

Это означает, что перед тем, как вы используете параметр, который передается через POST в любом из ваших утверждений, вы должны проверить, имеет ли он правильный формат и, если применимо, диапазон (т. Е. Если вы собираетесь использовать его в деление, проверьте, является ли оно числовым, а не нолем).

0

если вы ожидаете, что параметр является целым числом - убедитесь, что он есть. Также, если вы ожидаете, что он будет находиться в пределах заданного диапазона, скажем больше нуля, но меньше 128, проверьте это тоже. Выполнение этого поможет защитить ваш код от межсайтового скриптинга и других подобных гадостей.

0

Это означает, что вы должны проверить, что параметры имеют смысл.

Например, если есть 3 параметра ожидается: день-месяц (численной), месяц (три-буквенные аббревиатуры на английском языке), год (4 цифры),
что вы отклонять день = 32 & месяц = 5 & год = 98 (день вне границ, месяц неправильный тип, год неправильный формат),
но и день = 29 & месяц = ​​февраль & год = 2001 (2001 год не был високосный год).

0

Говоря о типе, он говорит о типе переменной, которая переходит к функции. Это означает, что если у вас есть

function conc(a,b){ 
    return a.b; 
} 

Не мимо него 12 и 52 или любого типа числа. Передайте ему параметр строки типа.

И когда речь идет о диапазоне, не передать функции типа с плавающей точкой, когда функция использует и INT, и т.д ...


Но интересно, почему вы зададите этот вопрос, так как PHP динамически набран. Если вы не набираете тип или не используете его внутри своей функции.

0

Это означает, что вам нужно проверить, имеет ли переменная правильный тип данных (целое, двойное, строковое и т. Д.) И в пределах определенных границ (минимальное/максимальное значение, точность, длина строки и т. Д.).

Пример:

function verifyTypeAndRange($var) { 
    if(!is_int($var)) { 
     //variable is not of the correct type (integer) 
     return false; 
    } else if($var < 0 || $var > 100) { 
     //variable is not within required range (0-100) 
     return false; 
    } 

    return true; 
} 

verifyTypeAndRange($_POST['var']); 
Смежные вопросы