php 禁止外部提交数据代码

我有一个网站存在这样的一个问题,你注册会员发布了一个链接信息,当你修改这条信息时,如果把后面的id修改为其他会员发布的信息id(如登陆上修改自己的信息my_update_item.php?id=1而后直接改为my_update_item.php?id=100),那你就可以修改别人的信息,我的网站是php的,请问怎么禁止外部提交数据,代码是不是加到数据库连接的那个地方也就是config.php之类的,谁有这类禁止外部提交数据代码。
对了,忘记说了,网址是 www.zzzhu.net

最好在数据库里的用户表里有一个记录是否登录的标志位字段
例如:
user(userName,userPassword,userLoginFlag)
用户表(用户名,密码,是否登录标志位)
登录的时候就判断用户名和密码是否正确,并且修改登录标志位,然后这些用户名都是通过session 或 cookie传递,因为其他页面如果都是用?xx=yy 这种方法,就会产生您所述的情况,另外还要多写一个文件,用来判断传递过来的“登录标志位”是true or false,
例如:
check.php

// 判断地址传递的用户名值和页面cookie传递的用户名值是否相等,不同则证明是人为修改的了啦,另外建议不用GET传递,不解释,就算万不得已要用get,我建议你encodeURI(escape(传递值)),或者再加一些自定义的编码,我想修改者改起来也没那么容易。

if($_COOKIE["userName"] != $_GET["userName"])
{
echo "<script>.....</script>"; // 提示退出,等等
}

然后除了登录的那个页面以外的页面都
include()这个check.php,
那无论他怎么修改地址传递的值时,必须要重新加载一次页面,加载的时候就必须判断cookie值和地址值的相等与否
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-29
在判断用户的时候用session或者是cookies,而且在提交数据的时候必须判断修改的信息和当前用户是对应的。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网