PHP 需要存储/维护哪些信息以确保网站质量并保证其安全?

标签 php mysql security

我的平台: PHP 和 mySQL

我的情况:

我正在构建一个应用程序。用户可以在其中注册我提供的服务的帐户。我想限制一个用户注册多个帐户,并且来自世界各地的用户可以创建自己的帐户。话虽这么说:

  1. 我可以采取什么措施来防止多个帐户并确保我可以跟踪用户,以防他们对我的网站安全进行一些恶作剧?

  2. 出于管理目的,我需要记录有关用户的哪些详细信息?知识产权?浏览器信息?还有什么? (奖励:如果您能列出原因,那也会很有帮助)

  3. 应该记录和维护用户过去的多少次登录?这么多(您建议的过去登录次数)有什么帮助?

  4. 请列出您认为不惜一切代价不应错过的内容以及其他可能有帮助的内容。

提前谢谢您。

最佳答案

首先:

IP Address are not unique ways of identifying a user, as multiple computers can be located on a single IP address, as seen in work enviorments, schools, and other institutional access points.

此外

There is no absolute way to be sure about someone's identity. You can simply go off what the person tells you. You can limit accounts 1 account per email address, but there are easy ways to work around that. Same with about any other method you try.

因此,我们可以得出结论:

确实没有办法确保用户只创建 1 个帐户。您确实不应该费心去尝试实现一个这样做的系统,因为总有办法绕过您安装的拦截器。

您唯一能做的就是确保每个电子邮件地址有 1 个帐户,但这是一个延伸,因为 gmail 允许我使用所有这些电子邮件地址:

<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8be6f2eee6eae2e7cbece6eae2e7a5e8e4e6" rel="noreferrer noopener nofollow">[email protected]</a>
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4e23372b232f2722657f0e29232f2722602d2123" rel="noreferrer noopener nofollow">[email protected]</a>
// I can put anything after the '+' sign. Gmail ignores it.

<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="076a297e626a666e6b47606a666e6b2964686a" rel="noreferrer noopener nofollow">[email protected]</a>
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7a175403541f171b13163a1d171b131654191517" rel="noreferrer noopener nofollow">[email protected]</a>
// Gmail doesn't care about dots in email addresses, they all go to me.

如您所见,我可以创建很多都是唯一的电子邮件地址,但它们都直接进入我的电子邮件收件箱。

这还不包括我的个人电子邮件 @chacha102.com。通过一封包罗万象的电子邮件,我可以将任何内容放在 @chacha102.com 前面,它会直接发送给我。我什至可以编写一个脚本来创建随机哈希并将 @chacha102.com 附加到它。我将拥有几乎无限数量的电子邮件地址。

那么,我的建议是?担心别的事情。


回答您的其余问题:

您可能应该保留重要事件的管理日志。例如,StackOverflow 记录了我获得徽章时以及最有可能登录时获得的所有代表。在您的网站中找到“检查点”并记录它们。

如果法律要求,您应该将这些日志保留 30 天或更长时间;如果您的系统要求,您应该永久保留这些日志。 (StackOverflow 可能影响了我的声誉,因为它确保了代表重新计算可以从一开始就进行)。


您可能应该查看这个 StackOverflow 问题:
https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site

关于PHP 需要存储/维护哪些信息以确保网站质量并保证其安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134553/

相关文章:

php - get请求时是否有必要在laravel Controller 中使用htmlspecialchars

php - JOIN 查询未返回所有结果

php - 下载时更改为原始文件名?

mysql - 是否有数据库级别的软删除机制

php - MySQL/PHP 5 - 获取最后提取的行的 ID

java - SSL 握手异常

security - 网页中的未知代码

php - Yii 中的 session 数据未保存到数据库

php - 从 MySQL 数据库检索的字符串中出现特殊字符和额外的空格

php - 从数据库获取 Google map 标记到 map