PHP 我的网站差不多完成了,但是我遇到了一些安全方面的问题。实际上,我还没有遇到问题,但我需要预防。例如,登录系统,我正在使用cookie / session。正如人们在这里回答的那样,饼干很容易被克服,而且它很有价值。
登录系统的最佳方式是什么,包括密码和数据安全性?
另外,我正在使用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中)?
如果不,最好的方法是什么?
先谢谢。
@EDIT
我忘了问。另外,防止人们做出大量评论(群发垃圾邮件)的最佳方法是什么?例如,我做一个评论(或投票,或其他),并且工作正常。然后,我做了另一个评论,它阻止了我一段时间,我不能再次评论,直到这个时间到期。最好的方法是什么,或者至少是哪些主要网站/论坛用来阻止它?再次感谢。
答案 0 :(得分:0)
为什么不使用会话ID?我使用https连接实现登录,然后分配一个sessionid,用于根据您的数据库识别用户。如需进一步参考,您甚至不再需要安全连接。
如果您想要识别帖子,只需使用类似“SELECT username FROM users WHERE sessid =”的内容。 SESSION_ID()
答案 1 :(得分:0)
从观点来看,当您执行不会更改应用程序状态的操作时,您应该只使用cookie信息;比如在页面顶部显示用户名。
但是,在每个场景中,您的应用程序都在更改其状态,例如添加新的POST(在您的示例中),您肯定不能信任客户端cookie。
要回答“最好的方法”,这取决于您所依赖的技术。
编辑:
为了防止大量垃圾邮件,您应该使用cookie信息和请求信息,如IP地址。