如果我有一个查询字符串,例如:http://mywebsite.co.uk/charge.php?val=5768
如果用户更改了' val'的值,我如何验证此查询字符串以使用php抛出错误?在查询字符串中。我可以在charge.php页面上写一些代码吗?
答案 0 :(得分:2)
在我看来,你正在咆哮错误的树。你无法察觉是否有人改变了#34;一些东西。你得到的只是一个URL的请求,就是这样。您通常不知道该请求来自何处或谁提供了URL;你需要根据自己的优点来评估请求。
我猜你在有人访问该网址时会发生一些保密行为。价值改变了该行动的一些重要部分。然后,您需要创建服务器端检查和边界,以确认当前是否允许用户执行他在此处请求的任何操作。您需要在服务器上存储足够的信息,以确认是否允许用户将要执行的操作。您不能简单地信任URL中的信息,因为任何人都可以篡改它。
如何在你的情况下具体做到这一点尚不清楚,因为我没有具体的想法应该在那里发生什么。
答案 1 :(得分:0)
您可以检查val是否为整数,以及数据库中是否存在val。我使用像下面这样的函数来检查整数:
// CHECK IF VALID INTEGER
function valid_integer($str)
{
if (strlen($str) == strlen(preg_replace('#[^0-9]#i', '', $str) + 0) AND $str > 0 AND $str < 9999999999999)
{
return true;
}
}
所以我可以像下面那样检查val
if (valid_integer($_GET['val']))
{
echo 'valid int';
}
else
{
echo 'not valid int';
}
然后你必须检查数据库中是否存在val。如果您使用数据库。