将信息传递到页面的最简单方法是将信息放在 URL 中。这当然被称为查询字符串,可以使用 $_GET[‘varname’] 访问查询字符串中的信息。很简单,是的。不安全,可能。以下是管理查询字符串信息的一些指南。
期望数字时的类型转换值
当您希望查询字符串中有一个整数时,请在使用前对值进行类型转换。这可以防止字符串值给您带来问题。
$id = (int) $_GET['i'];
净化输入
为您传递的每种类型的变量构建一个基本函数,您可以在整个网站中使用它。这确保了一致性和安全性。
确保 REGISTER_GLOBALS 关闭
这当然是显而易见的,但是启用 REGISTER_GLOBALS 是一个主要问题。确保它已关闭。
不要让变量名有意义
我们只是说拥有一个名称为“user_id”的$_GET 变量并不是一件好事。将其更改为“u”或其他名称。
<!-- no! --> <a href="/profile.php?user_id=<?php echo $user_id; ?>">Your Profile</a> <!-- yes! --> <a href="/profile.php?q=<?php echo $user_id; ?>">Your Profile</a>
加密查询字符串值
如果您需要在页面之间传递敏感信息,请至少使用基本的加密算法或 md5。
<a href="/profile.php?i=<?php echo dw_encrypt($user_id); ?>">Click here</a>