加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

消毒PHPSESSID

发布时间:2020-12-13 13:12:23 所属栏目:PHP教程 来源:网络整理
导读:我正在将 PHPSESSID传递给 PHP页面(通过POST),我想知道什么是消毒输入的最佳方法. mysql_real_escape_string会不够?在处理会话ID时我应该考虑一些特殊问题(我的意思是,它们只能是字母和数字吗?)? 编辑: 为了澄清这个问题,我真正想知道的是:如果有人篡改
我正在将 PHPSESSID传递给 PHP页面(通过POST),我想知道什么是消毒输入的最佳方法. mysql_real_escape_string会不够?在处理会话ID时我应该考虑一些特殊问题(我的意思是,它们只能是字母和数字吗?)?

编辑:
为了澄清这个问题,我真正想知道的是:如果有人篡改POST数据,他是否可以发送一个恶意字符串作为PHPSESSID,当我调用session_id($_ GET [‘PHPSESSID’])时会发生令人讨厌的事情?
我个人想不到任何东西,但比抱歉更安全…

谢谢

尼科

好的想法,但据我所知,没有必要消除这种意见. PHPSESSID将传递给session_id().

session_id确实有some limitations:

Depending on the session handler,not all characters are allowed within the session id. For example,the file session handler only allows characters in the range a-z A-Z 0-9,(comma) and – (minus)!

但session_id()应该使用错误消息处理与这些规则的偏差. (您可能希望捕获该错误消息并在出错时终止脚本.)

我能看到的唯一真正的危险是当你使用自定义会话处理程序,例如连接到数据库.在这种情况下,您将不得不清理输入,例如使用mysql_real_escape_string().但是,这应该发生在自定义会话处理程序中.

不言而喻,如果您在某些其他上下文中使用会话ID(例如,作为HTML表单中的参数),则需要采取特定输出所需的卫生措施(在这种情况下,htmlspecialchars()).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读