Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP会话和实现基本ACL?_Php_Session Variables_Access Control - Fatal编程技术网

如何使用PHP会话和实现基本ACL?

如何使用PHP会话和实现基本ACL?,php,session-variables,access-control,Php,Session Variables,Access Control,我一直在谷歌搜索会话变量。据我所知,我可以使用它们来捕获诸如用户名和其他数据之类的东西 我希望能够使用数据来存储最后一个更改特定字段记录的人的用户名。此外,我希望能够限制特定用户在站点上看到的内容。例如,如果一个用户生成了一个工单,我希望该用户只查看他/她创建的工单,而不查看其他人的工单 我对这一切都很陌生,我甚至没有足够的理解来编写一些你可能会为我更正的代码。如何将存储在会话变量中的数据作为$\u GET或$\u POST发送?如果我有这种格式,我可以在查询中使用它(我想) 我有一个名为“工作

我一直在谷歌搜索会话变量。据我所知,我可以使用它们来捕获诸如用户名和其他数据之类的东西

我希望能够使用数据来存储最后一个更改特定字段记录的人的用户名。此外,我希望能够限制特定用户在站点上看到的内容。例如,如果一个用户生成了一个工单,我希望该用户只查看他/她创建的工单,而不查看其他人的工单

我对这一切都很陌生,我甚至没有足够的理解来编写一些你可能会为我更正的代码。如何将存储在会话变量中的数据作为$\u GET或$\u POST发送?如果我有这种格式,我可以在查询中使用它(我想)

  • 我有一个名为“工作订单”的表,其中有一个名为“更新人”的字段。我希望能够存储上次更新记录的人的ID
  • 我还想向工单添加权限,以便用户只能查看特定用户创建的记录

  • 这是我在第一年的网页设计课上做的一个项目。课堂上有一些学生,他们认为看到自己对他人的工作造成多大的损害很有趣。这就是我希望能够限制他们仅访问他们生成的工单的原因。

    您似乎在这里混合了您的问题

    首先,你的数据库在哪里?例如,如果它是MySQl,那么您需要向work order表(以及其他表)中添加一个额外的列。就我个人而言,我喜欢向其中添加timestamp列,以便审计porpoise

    我更喜欢POST而不是GET,因为1)它可以保存更多的数据,2)用户不太容易篡改

    因此,如果您有一个声明了输入字段的表单

    <form>
    
    
    
    姓名:

    (见附件)

    您可以访问
    $\u POST['user\u name']
    例如
    $sql='INSERT INTO work\u order\u table(user\u name,…)值($\u POST['user\u name'],…)

    我建议你买一本好书(足够便宜的第二本)或在线教程,然后自己动手

    如果我遗漏了什么或者有什么不清楚的,请告诉我。祝你好运


    因为你担心学校里的孩子会把你的数据库搞砸

    1) 谷歌如何让MySql更安全
    2) 提示这将涉及
    3) 使用POST,而不是get,这样您就有了类似
    http://192.1.68.1.1/application
    而不是
    http://192.1.68.1.1/application?user=smith
    这会诱使用户使用URl“只是为了看看会发生什么”(可能比学校级别的SQL注入更危险,但是……你永远不知道
    4) 点击soemthign的libbrary,如O'Reilly的PHP&MySql for Dummies for Dummies in 24小时,适用于完全的白痴初学者-或在线查找上帝教程
    5) “我希望能够将特定用户限制为仅查看他们生成的工单”阅读SQL中的WHERE SELECT
    6) 更改MySql根用户密码,甚至添加一个具有类似根用户访问权限的新用户,然后删除根用户

    7) 确保没有学生可以访问服务器,以免他们看到PHP并看到您的MySql用户和密码。您可能希望从阅读或观看视频教程开始,这将帮助您更好地了解如何以及何时使用会话变量。存储在会话中的数据不会永远存在,因此需要将大部分信息存储在数据库中

    大多数人都会这样做:一旦用户登录到应用程序中,您就可以将其用户id放入会话中。这样,你就知道他们是谁了。服务器使用cookie来实现这一点,当用户关闭浏览器时,服务器将忘记他们是谁,会话数据将丢失。因此,在本例中,会话只是跟踪用户是谁


    要存储上次编辑字段的人的信息,您可能需要使用数据库来存储该信息。将这些信息存储在会话变量中是没有用的。

    如果您给出了一个特定的问题,或者您在寻找解决方案时尝试了一些代码,那么它将真正有助于回答您的问题。你写的问题很广泛,很难回答。对不起。我将对问题进行更具体的编辑。谢谢你的回复。谢谢你的回复。数据库是MySQL,带有表、工单。我在表中有一个字段来存储最后一个更新数据的人的用户名。字段名为userlogin。此外,我希望能够限制特定用户只查看他们生成的工单。这是一个学校项目,我在那里注册的第一年网页设计。它将用于存储教室数据。那里有一些学生会喜欢把别人的作业弄糟,所以我试着尽可能多地限制他们。我将对问题进行编辑,使其更清楚。感谢+1的反馈。哎呀,既然这是学校用的,没人会给你代码。事实上,如果你问了一个过于笼统的家庭作业问题,问题往往会被关闭。这里的人们希望你展示你迄今为止的工作,并就一个特定的问题提出一个特定的问题。然而。。。我已经在谷歌上更新了我的答案,了解了如何确保MySQl的安全(我不会为你这么做;-)谢谢你。我已经在谷歌上搜索了好几天了。这不完全是一个家庭作业问题。我自己为学校建立了一个网站,制作一个数据库驱动的应用程序来存储这些记录。以前都是纸质的。我已经超越了我的老师可以帮助我的范围,这个课程是基于使用Dreamweaver和使用巫师。我想学习的不仅仅是如何使用向导。我想知道发生了什么事。我不是要代码,而是要指向正确的方向。我在网上读了这么多,但缺乏理解它的基础,所以我来到这里。