我几乎在所有地方都在阅读我们不应该使用我们自己的自定义登录和密码验证(如正则表达式等),而是使用PHP 5及更高版本提供的函数中内置的filter_var和filter_input。然而,即使用不同的搜索字符串搜索了一个多小时后,我也没有找到一个显示我们如何在登录表单中验证用户名/登录名和密码的示例。有人可以为用户名和登录提供强大的安全验证。
此外,我还要澄清是否以任何方式操纵登录表单中的用户名和登录字段以构成安全威胁?我的意思是,黑客可以制作用户名/登录名或密码,以便进行注射或任何其他威胁吗?
谢谢大家。
答案 0 :(得分:1)
php5 +中的过滤器函数简化了验证用户输入数据的方式。例如:
如果您有一个带有电子邮件和密码字段的注册表单,您可以使用以下代码检查该电子邮件是否有效:
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
// Everything okay
} else // Email is malformatted
没有用于检查密码质量的过滤器。您可以在此处找到可用过滤器的概述:http://php.net/manual/en/filter.filters.validate.php。
还有用于清理用户输入的过滤器,例如:如果要清理电子邮件地址,可以使用以下代码:
$sanitized_email = filter_var($email, FILTER_SANITIZE_EMAIL);
您可以在此查看所有可用的清理过滤器以及它们在此处的具体操作:http://php.net/manual/en/filter.filters.sanitize.php