我需要转义text/plain还是text/javascript
Do I need to escape text/plain or text/javascript?
假设我有这样的东西:
if ($command === 'txt') {
header('Content-type: text/plain;charset=utf-8');
echo $result;
exit();
} else ($command === 'js') {
$json = array( $result );
header('Content-type: text/javascript;charset=utf-8');
echo $callback . '(' . substr(json_encode($json), 1, -1) . ');';
exit();
}
我可以在echo语句中使用htmlspecialchars
吗?如果它被解释为html,它会把它搞砸,另一方面,如果浏览器真的把它解释为html的话,就不会让它们留下有人试图进行xss攻击的风险。
我该怎么办?我应该不担心而不是htmlspecialchars
吗?
不,您不应该使用htmlspecialchars
。这两者都没有意义,因为htmlspecialchars
旨在避免HTML注入。但是,如果使用JSON,则客户端代码需要注意如何使用返回值。
例如,将其注射到innerHTML
中是不安全的。
相关文章:
- 如何将输入(type=text)从html表单传递到javascript函数
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 我应该使用Ng提交还是点击表格
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- 在文本区域中使用jQuery.text()保持换行符
- 在javascript中确定输入数字是负数还是正数
- 用Javascript添加带有#text的tr元素
- 当用户按下回车键时,自动在text区域/text中插入消息
- 修正案'text'的元素
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 我应该先学习Angularjs还是Laravel
- W3验证器->使用<脚本类型=“;text/javascript”>在html的正文中
- 我需要NG-IF/NG-SWITCH还是NG-SHOW&NG-HIDE
- 我如何在INPUT TEXT中使用这个Javascript和jQuery
- <text区域>在我的html中包含event.keycode==13之后,wrap就不起作用了
- 从所有下拉菜单中选择val和text
- 节点,express应用程序返回text/javascript响应头(Content-Type),尽管设置了applic
- .val()返回未定义的.text返回随机代码
- 我需要转义text/plain还是text/javascript