关于很多论坛的这种写法原因求解 还真不太清楚,我平常也这么写。应该是防sql注入的吧。在$$key时会去除一些,';号之类的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只是为了方便,不用老在代码中写$_GET[xxxx],$_POST[xxxx]这样的东西论坛里一般不会有谁cookie的变量跟普通变量重名,很少有人这么做的谈到安全隐患,即使使用$_POST[xxxx]也只能防止用url传递变量的问题同样可以伪造一个post传递,没有什么太多的必要性!最终还是靠验证变量最合适 PHP中有个选项是register_globals,这个选项为on的时候,你提交的参数会直接变成变量.包括直接提交在URL上的,和POST中的参数.比如http://abc.com/abc.php?action=12345//abc.php<?echo $action?>由于变量$action被默认定义,于是输出结果是"12345";然后PHP的发明者觉得这样做有非常大的安全隐患,于是在PHP4.2.0以后的版本中,register_globals选项默认就为off,所有提交的参数不会变成变量.上面例子中,$action变量就是未定义变量.不过你可以用$_GET['action']访问这个提交的变量.关于这个register_globals选项,必须是服务器提供商才能设置.既然4.2.0以后的版本都是off了,那么有些脚本必须用到或者说程序已经习惯了register_globals为on的环境怎么办.于是就有了你给出的那些代码.那些代码的意思就是模拟出一个register_globals为on的环境,把所有提交的参数直接定义成变量. “如本来GET 中有一个name变量 如果cookie上也来一个name的cookie不是会被替换了吗?”是的,会被替换掉。请注意这样一个事实,当register_globals=on时,php的“魔术”变换是按照GET、POST、COOKIE、SESSION的次序进行的,后者覆盖前者。此默认次序可由variables_order改变 PHP中能否利用JS实现向一个textarea中输入一个数,但是不会覆盖掉原先textarea中的值 关于array_walk 为什么是这样 PHP与数据库连接问题 如何用php实现收邮件的功能,需要用POP3 按照日历中日期显示销售人员的销售数目 乱码问题,在线等 有什么办法可以防止统计系统作弊. php+mssqlserver,是否可行??? apache+php+mysql配置再问!!! PHP可以用指针吗? 我的PHP+MySQL网站,测试中,欢迎大家来提意见 像go2map这种网站的后台技术上容易实现吗?
同样可以伪造一个post传递,没有什么太多的必要性!最终还是靠验证变量最合适
<?
echo $action
?>由于变量$action被默认定义,于是输出结果是"12345";然后PHP的发明者觉得这样做有非常大的安全隐患,于是在PHP4.2.0以后的版本中,register_globals选项默认就为off,所有提交的参数不会变成变量.上面例子中,$action变量就是未定义变量.不过你可以用$_GET['action']访问这个提交的变量.关于这个register_globals选项,必须是服务器提供商才能设置.既然4.2.0以后的版本都是off了,那么有些脚本必须用到或者说程序已经习惯了register_globals为on的环境怎么办.于是就有了你给出的那些代码.那些代码的意思就是模拟出一个register_globals为on的环境,把所有提交的参数直接定义成变量.
是的,会被替换掉。
请注意这样一个事实,当register_globals=on时,php的“魔术”变换是按照GET、POST、COOKIE、SESSION的次序进行的,后者覆盖前者。此默认次序可由variables_order改变