kuzya_101
29.01.2016 - 08:44
if(!empty($_GET['num'])) {
$num = trim($_GET['num']);
} else {
$num = FALSE;
}
if($num) {
}
Игорь_Vasinsky
29.01.2016 - 08:51
ну нотис он вызвать способен))
$num = !isset($_GET['num']) || !is_numeric($_GET['num']) ? false : (int)$_GET['num'];
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (Игорь_Vasinsky @ 29.01.2016 - 08:51) |
ну нотис он вызвать способен))
$num = !isset($_GET['num']) || !is_number($_GET['num']) ? false : (int)$_GET['num']; |
Игорь, это что - is_number?
_____________
Принимаю заказы, писать в ЛС
Игорь_Vasinsky
29.01.2016 - 09:44
Медведь
это is_numeric()
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (Игорь_Vasinsky @ 29.01.2016 - 09:44) |
Медведь это is_numeric() |
Ему же пробелы только удалить. ТС не писал, что это число
_____________
Принимаю заказы, писать в ЛС
xlebosol
29.01.2016 - 10:19
Если названием переменной $num указываешь, что это число и ожидаешь тип INT, то причем здесь FALSE. Только PHP способен такое перенести.
$num = 0;
if(!empty($_GET['num'])) {
$num = trim($_GET['num']);
}
Игорь_Vasinsky
29.01.2016 - 10:29
xlebosol
и снова нотис.
если нет у $_GET['num']
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
xlebosol
29.01.2016 - 10:36
Цитата (Игорь_Vasinsky @ 29.01.2016 - 08:29) |
xlebosol и снова нотис.
если нет у $_GET['num'] |
Я не о нотисе, я о сменах типов переменных, назвал так, хочу bool сделаю, хочу int. а там через три строки смотри и уже array станет.
killer8080
29.01.2016 - 10:52
Цитата (Игорь_Vasinsky @ 29.01.2016 - 10:29) |
xlebosol и снова нотис.
если нет у $_GET['num'] |
с чего бы? Там же проверка есть
killer8080
29.01.2016 - 10:56
Цитата (kuzya_101 @ 29.01.2016 - 08:44) |
// Безопасен ли этот код? |
а в чем должна быть опасность? Опасность не во входных данных, а в их неправильном использовании
если ты эту переменную потом в таком виде просто подставишь в запрос к бд, будет SQLi, если в файловый путь, возможно LFI. А в самом этом коде ничего опасного нет.
Цитата (Игорь_Vasinsky @ 29.01.2016 - 10:29) |
xlebosol и снова нотис.
если нет у $_GET['num'] |
Проверка empty() есть, даже после trim(), если там были пробелы - будет просто пустая переменная.
Про конструкцию if
При преобразовании в boolean, следующие значения рассматриваются как FALSE:
само значение boolean FALSE
integer 0 (ноль)
float 0.0 (ноль)
пустая строка, и строка "0"
массив без элементов
объект без полей (только для PHP 4)
особый тип NULL (включая неустановленные переменные)
Объекты SimpleXML, созданные из пустых тегов
Все остальные значения рассматриваются как TRUE (включая любой resource).
_____________
Принимаю заказы, писать в ЛС
AllesKlar
29.01.2016 - 16:26
kuzya_101
если ты ожидаешь число, то твой код неверен.
?num=0 он не пропустит
_____________
[продано копирайтерам]
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.