人们通常会如何验证从数据库中获取的信息是否确实与活动用户相关?检查权限?
例如:假设我们在用户x的收件箱中列出了一组PM,我如何确保只有用户x可以从收件箱中获取某些内容,而不是其他人(这可以通过“hacking”课程地址)。
很明显,我可以将活动用户名与数据库表中的内容进行比较,但是有没有简单的方法可以在某种程度上控制全局,而无需将活动用户名与数百个不同表格进行比较以执行不同的操作?
人们通常会如何验证从数据库中获取的信息是否确实与活动用户相关?检查权限?
例如:假设我们在用户x的收件箱中列出了一组PM,我如何确保只有用户x可以从收件箱中获取某些内容,而不是其他人(这可以通过“hacking”课程地址)。
很明显,我可以将活动用户名与数据库表中的内容进行比较,但是有没有简单的方法可以在某种程度上控制全局,而无需将活动用户名与数百个不同表格进行比较以执行不同的操作?
假设您正在提取登录用户的消息开头,否?例如:
"SELECT * FROM `messages` WHERE `recipient` = '$loggedInUserId'"
如果是这样,我不明白这个问题。如果这不是你正在做的事情,那么你做错了什么。
那么你的应用程序跟踪用户会话,并确保安全性。即当用户登录服务器设置cookie与会话ID,并通过会话变量你的服务器的请求页面将知道什么用户真正要求的东西(或者可能根本没有登录的用户,如果没有cookie),因此您的应用程序可能会使用用户会话和请求URL中的id来确定它是否应显示请求的内容,或显示错误消息或重定向,因为用户正试图访问不是他的内容。当然这是更多的涉及,但这是一个开始。我建议阅读php会话和cookie。
这是数据库查询条件用于......仅选择相关数据。
一般人一旦被记录在你从$_SESSION
变量得到他们的用户名和密码,查询数据库,以确保它们是有效的用户,然后抓住任何你需要使用WHERE username = '$username'
这应该是这样做到这一点或$ _SESSION键!否则就是非常昂贵的方式......为每个用户分别创建不同的数据库和表(这会不会很紧张?)。 – doNotCheckMyBlog
当你在它只是购买每个用户一台服务器。 –
另外,查看'Authentication'和'Authorisation'之间编程的区别。你需要先认证你的用户证明他们的ID,然后一旦完成授权他们检查他们的收件箱(但不是其他人) – CResults