相关疑难解决方法(0)

检查变量是否是PHP中的整数

我有以下代码

    $page = $_GET['p'];

    if($page == "")
    {
        $page = 1;
    }
    if(is_int($page) == false)
    {
        setcookie("error", "Invalid page.", time()+3600);
        header("location:somethingwentwrong.php");
        die();
    }
    //else continue with code
Run Code Online (Sandbox Code Playgroud)

我将用它来查看数据库的不同"页面"(结果1-10,11-20等).但是,我似乎无法使is_int()函数正常工作.将"1"放入url(noobs.php?p = 1)会给出无效的页面错误,以及类似"asdf"的内容.

php

67
推荐指数
5
解决办法
10万
查看次数

PHP安全性 - (int)vs FILTER_VALIDATE_INT

我最近被告知有FILTER_VALIDATE_INT,顺便说一句.

我的问题是从网站获取整数值,无论是来自用户还是从Web应用程序生成,并通过查询字符串传递.

可以在mysql查询中显示或使用值(整数).

我正在尝试为此构建最好的安全方法.

考虑到这一点,简单使用是否安全

$myNum = (int)$_GET['num'];
Run Code Online (Sandbox Code Playgroud)

要么

if (filter_var($_GET['num'], FILTER_VALIDATE_INT)) $myNum = $_GET['num'];
Run Code Online (Sandbox Code Playgroud)

另外,请解释使用(int)和之间的区别FILTER_VALIDATE_INT

php variables input filter

18
推荐指数
1
解决办法
9715
查看次数

标签 统计

php ×2

filter ×1

input ×1

variables ×1