0

PHP 我的网站快完成了,但我遇到了一些安全问题。实际上,我还没有遇到问题,但我需要预防。例如,登录系统,我正在使用 cookie/session。正如人们在这里回答的那样,cookie 很容易克服,而且很容易受到攻击。

做登录系统的最佳方法是什么,包括密码和数据安全?

另外,我正在使用 cookie 在帖子上写下用户的姓名。例如。(假装登录成功)

$Cookie = $_COOKIE['username'];
$Cookie = $FetchUserNameFromDatabase;

//Then, on posts to write the name of the user, from the cookie.
$DoPost = "INSERT INTO posts (username, message) VALUES ($Cookie, $AnyMessage)";

这是从 cookie 值(因为登录后,用户名保存在 cookie 上)在帖子上写用户名的最佳方式吗?

如果不是,最好的方法是什么?

先谢谢了。

@编辑

我忘了问。另外,防止人们发表大量评论(大量垃圾邮件)的最佳方法是什么?例如,我做了评论(或投票,或其他)并且工作正常。然后,我做了另一条评论,它阻止了我一段时间,直到这段时间到期我才能再次发表评论。最好的方法是什么,或者至少主要网站/论坛使用什么来防止它?

再次感谢。

4

2 回答 2

0

为什么不只使用会话 ID?我将使用 https 连接实现登录,然后分配一个 sessionid,它可以根据您的数据库识别用户。为了进一步参考,您甚至不再需要安全连接。

如果您想识别帖子,只需使用类似 "SELECT username FROM users WHERE sessid=" 之类的东西。session_id()

于 2013-01-30T14:20:06.510 回答
0

就观点而言,您应该仅在执行不会更改应用程序状态的操作时使用 cookie 信息;就像在页面顶部显示用户名一样。

但是,在您的应用程序正在更改其状态的每种情况下,例如添加新的 POST(在您的示例中),您绝对不能信任客户端 cookie。

要回答“最好的方法”,这取决于您所依赖的技术。

编辑:

为防止大量垃圾邮件,您应该使用 cookie 信息和请求信息(如 IP 地址)。

于 2013-01-30T14:20:14.233 回答