0

当我有一个带有一个变量的 url 时:www.mysite.com/animals.php?pet=dogs我会检查:

if (!isset($_GET['pet']) || empty($_GET['pet']) || ($pet_true === false)){
header('Location: error.php');
exit();
} echo 'list of dogs';

当宠物未设置或为空或为假时,我会得到重定向,所以它可以工作。

但我想添加第二个变量:www.mysite.com/animals.php?pet=dogs&breed=collie并进行检查:

  • 如果没有设置品种或为空或为假:重定向到错误页面。
  • 如果 url 是: ?pet=dogs&madeup: 重定向到错误页面。

我以为我可以进行以下检查:

if (!isset($_GET['breed']) || empty($_GET['breed']) || ($breed_true === false)){
header('Location: error.php');
exit();
} else {
       echo 'Collie info';
       }

但是当 url 正确时,www.mysite.com/animals.php?pet=dogs我仍然会重定向,因为没有设置品种。

我能想到的唯一解决方案是什么都不回应:

if (!isset($_GET['breed']) || empty($_GET['breed']) || ($breed_true === false)){
    echo '';
} else {
       echo 'Collie info';
       }

但是现在?pet=dogs&用户可以输入他想要的任何内容并且我不知道它是否安全之后,我认为重定向到错误页面会更好,但是有可能吗?

4

0 回答 0