Php 我是否需要逃离/消毒以下物品?如果是,最好的方法是什么?
我是否需要逃离/消毒以下物品Php 我是否需要逃离/消毒以下物品?如果是,最好的方法是什么?,php,sanitize,Php,Sanitize,我是否需要逃离/消毒以下物品 $\u服务器['HTTP\u用户\u代理]在 PHP脚本(未插入到 数据库或显示给用户),用于 例如: $\u服务器['HTTP\u用户\u代理]何时 作为会话变量放置,例如 例如: 任何要散列的内容, 例如: hash('sha512',$randomDataPostedByUser) 发送给电子邮件正文的用户输入 (换句话说,我已经 注意电子邮件标题的插入) 如果上述任何一种情况确实需要清除/消毒,那么针对每种情况的最佳方法是什么?否,在您展示的任何示例
$\u服务器['HTTP\u用户\u代理]
在
PHP脚本(未插入到
数据库或显示给用户),用于
例如:
$\u服务器['HTTP\u用户\u代理]
何时
作为会话变量放置,例如
例如:
hash('sha512',$randomDataPostedByUser)
如果上述任何一种情况确实需要清除/消毒,那么针对每种情况的最佳方法是什么?否,在您展示的任何示例中都不需要卫生,以下是邮件正文示例中非常罕见的例外情况: (仅限Windows)当PHP直接与SMTP服务器通信时,如果在行首发现句号,则会将其删除。若要反作用,请将这些引用替换为双点 但是,您可能需要稍后清理会话变量,具体取决于您将如何处理它 其他说明:
- 您的第一个示例似乎没有意义,因为用户代理字符串变化很大。您必须使用
或正则表达式来匹配用户代理strstr()
- 如果要进行比较,则将用户代理存储在会话变量中可能不是一个好主意-需要时,只需从$\u服务器阵列中提取它即可
- 您的第一个示例似乎没有意义,因为用户代理字符串变化很大。您必须使用
或正则表达式来匹配用户代理strstr()
- 如果要进行比较,则将用户代理存储在会话变量中可能不是一个好主意-需要时,只需从$\u服务器阵列中提取它即可
=
。电子邮件正文听起来可疑,所有其他示例看起来都很可疑sane@Pekka谢谢,我添加了第二个=
。在第一个示例中,您可能缺少第二个=
。电子邮件正文听起来可疑,所有其他示例看起来都很可疑sane@Pekka谢谢我添加了第二个=
。因此不可能创建类似以下情况的漏洞攻击?(如果这是荒谬的,我提前道歉;我还在学习。)hash('sha512',$randomDataPostedByUser)
其中$randomDataPostedByUser
是$nonimportant)@user nope,因为)
将被解释为字符串数据。没有办法以这种方式“突围”(除非使用eval()
运行代码,除其他外,出于这个确切的原因不应该这样做)@Pekka太棒了!谢谢我意识到第一个例子没有多大意义,但我就是想不出一个更好的例子。关于将用户代理存储在会话变量中,我认为这样就可以看到它是否在不同的请求之间发生了变化。据我所知,除非它是由用户操纵的,否则不应该有理由在会话中期更改它。通过将其存储在会话中,我可以跟踪更改。这有意义吗?@user是的,有意义-这是最好的方法。所以不可能创建类似于以下情况的漏洞利用?(如果这是荒谬的,我提前道歉;我还在学习。)hash('sha512',$randomDataPostedByUser)
其中$randomDataPostedByUser
是$nonimportant)@user nope,因为)
将被解释为字符串数据。没有办法以这种方式“突围”(除非使用eval()
运行代码,除其他外,出于这个确切的原因不应该这样做)@Pekka太棒了!谢谢我意识到第一个例子没有多大意义,但我就是想不出一个更好的例子。关于将用户代理存储在会话变量中,我认为这样就可以看到它是否在不同的请求之间发生了变化。据我所知,除非它是由用户操纵的,否则不应该有理由在会话中期更改它。通过将其存储在会话中,我可以跟踪更改。这有意义吗?@user是的,有意义——这是最好的方式。
$_SESSION['userAgent']=$_SERVER['HTTP_USER_AGENT']
hash('sha512',$randomDataPostedByUser)