我有一个页面(index.php)GET从URL 获取一个变量并检查它是否安全.该GET变量应该只是一个整数.我使用以下代码来检查这一点,但在所有情况下,整数与否,我得到index.php页面.标题永远不会出现.在此代码之后,页面的其余部分将以html标记开头显示.
PHP:
<?php ob_start(); session_start();
$q=trim($_GET['q']);
if (!is_numeric($q)){
header("HTTP/1.0 404 Not Found");
}
?>
Run Code Online (Sandbox Code Playgroud)
有一种更好的方法可以做到这一点,即转换为int:
$q = (int) $_GET['q'];
Run Code Online (Sandbox Code Playgroud)
is_int 的行为符合预期.因为GET参数总是字符串.尝试var_dumping它们.