我有一个php表单页面(page.php),有3种不同的模式(插入/编辑/查看)
索引页面(index.php)包含3个导航到(page.php)的链接,每个链接将根据当前用户角色显示
index.php
<html>
<body>
<div id='main'>
<a href="page.php?insertMode=true&editMode=true">Insert Student Screen</a> <br>
<a href="page.php?insertMode=false&editMode=true">Edit Student Screen</a> <br>
<a href="page.php?insertMode=false&editMode=false">View Student Screen</a> <br>
</div>
</body>
</html>
我的问题
没有insertMode和editMode(insertMode=false&editMode=false
)的用户
可以更改URL中的值然后再生
他将以他没有角色的模式打开page.php
答案 0 :(得分:5)
此权限必须存储在数据库中...不在URL中。因此,当您在会话中加载用户时,您也可以加载他的权限,并可以轻松检查他是否有权编辑或插入。
最好的方法是拥有一个表User,一个表Right(包含所有可用权限)和一个关联这些表的表(如UserRights?),其中主键由User和Right的主键组成。然后,用户可以拥有多种权限。
你应该看看这个。
http://www.singingeels.com/Articles/Understanding_SQL_Many_to_Many_Relationships.aspx