每个人最喜欢清理用户数据的方式是什么?
我一直在使用 Javascript,但最近需要一些更安全的东西(毕竟人们可以关闭它),所以我在看 Flex,但我想我会问社区他们的想法。
每个人最喜欢清理用户数据的方式是什么?
我一直在使用 Javascript,但最近需要一些更安全的东西(毕竟人们可以关闭它),所以我在看 Flex,但我想我会问社区他们的想法。
永远不要使用 javascript或任何其他客户端技术进行唯一验证。您可以使用客户端验证来节省服务器上的一些负载,或者通过在验证失败时更快地显示错误来使您的应用程序看起来更具响应性,但您应该始终使用服务器端代码进行验证。
就个人而言,我喜欢 ASP.Net 验证控件,因为它为您提供了客户端验证和服务器端安全性的好处,而无需编写两次逻辑。当然,库存控制非常简单,但您可以扩展它们。
验证应始终在服务器端完成。此外,在客户端执行它也很好。
你如何做取决于你的应用程序是用什么编写的。任何语言都应该能够处理验证;重要的是使用的逻辑,而不是语言。
这还取决于您对所提供数据的处理方式。将其放入 URL 或将其存储在 SQL 数据库中需要两种截然不同的清理方法。如果可能的话,将有效值列入白名单——不要将无效值列入黑名单。总会有人想出一个你没有考虑过的新的错误输入。
根据项目的要求,您可能希望也可能不希望实施客户端验证。但是,应始终实施服务器端验证。我更喜欢将适当的输入和值列入白名单,而不是将无效数据列入黑名单,因为这样可以确保没有人会漏掉我没有考虑到的东西。
PHP 示例:
preg_match('/^[\w][\w\,\-\.]*\@[\w]+[\w\-\.]*$/', $_GET['email'], $matches);
if (count($matches) > 0) {
$_GET['email'] = $matches[0];
} else {
die('invalid email address');
}
建议同时使用服务器端和客户端验证。我使用 JQuery 进行客户端验证。