作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
On this page about hashbangs我看到了以下内容:
// get the _escaped_fragment_ parameter
$escapedfragment = $_GET['_escaped_fragment_'];
// NOTE: VALIDATE PARAMETERS (as always, to avoid security risks)
$params = getParams($unescapedfragment);
这样做的意义何在?一切都在服务器端进行,没有 sql 注入(inject)或 PHP 评估的风险。
为什么要费心验证? $_GET['_escaped_fragment_']
可能是个问题
最佳答案
在这种情况下,正在执行的 PHP 用于生成动态内容供搜索引擎索引。它需要生成与您的用户在与网站交互时看到的内容相同的内容——为此,它可能需要从文件系统检索文件、执行数据库查询、连接到远程系统等。
这个建议绝对是恰当的。这是在您的服务器上运行脚本内容的第二种机制,如果您在此处不执行输入验证而盲目地运行相同的内容,爬虫可能会无意中解决安全问题——或者为攻击者提供通往您数据的第二条途径。
关于php - 谷歌是偏执狂吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961104/
我是一名优秀的程序员,十分优秀!