phalcon: 上下文转义
上下文 转义 phalcon
2023-09-14 08:57:52 时间
phalcon: 上下文转义
转义特殊的字符
一:字符转义
$maliciousTitle = '</title><script>alert(1)</script>'; $e = new Phalcon\Escaper(); echo $e->escapeHtml($maliciousTitle)
最不安全的情形即是在html标签中插入非安全的数据
我们可以使用escapeHtml方法对这些文本进行转义:
$e->escapeHtml('></div><h1>myattack</h1>');
二,html属性转义
<table width="<?php echo $e->escapeHtmlAttr('"><h1>Hello</table'); ?>" ><tr><td> Hello </td></tr></table> 结果如下: <table width=""><h1>Hello</table" ><tr><td> Hello </td></tr></table>
三,url的转义
一些html的属性如href或url需要使用特定的方法进行转义:
我们这里使用escapeUrl方法进行url的转义:
<a href="<?php echo $e->escapeUrl('"><script>alert(1)</script><a href="#'); ?>" > Some link </a> 结果如下: <a href="%22%3E%3Cscript%3Ealert%281%29%3C%2Fscript%3E%3Ca%20href%3D%22%23" > Some link </a>
四,CSS转义
CSS标识/值也可以进行转义:
这里我们使用escapeCss方法进行转义:
<a style="color: <?php echo $e->escapeCss('"><script>alert(1)</script><a href="#'); ?>" > Some link </a> 结果: <a style="color: \22 \3e \3c script\3e alert\28 1\29 \3c \2f script\3e \3c a\20 href\3d \22 \23 " > Some link </a>
五,js转义
插入Javascript代码的字符串也需要进行适当的转义:
这里我们使用escapeJs进行转义:
<script> document.title = '<?php echo $e->escapejs("'; alert(100); var x='"); ?>' </script>
结果: <script> document.title = '\x27; alert(100); var x\x3d\x27' </script>
相关文章
- 从Java视角理解系统结构(一)CPU上下文切换
- 讲清楚之执行上下文
- Flask的上下文源码剖析
- Flask框架详细上下文管理机制
- JavaScript如何执行上下文
- SAP S/4HANA系统上所有可以用来创建扩展字段的业务上下文
- JavaWeb课程复习资料——中文乱码上下文处理
- 详解jvm之java类加载机制和类加载器(ClassLoader) 深入理解Java类加载器(ClassLoader) 如何自定义类加载器 深入说明双亲委派 双亲委派模型的破坏者-线程上下文类加载器
- 【Android 插件化】“ 插桩式 “ 插件化框架 ( 注入上下文的使用 )
- Python 上下文管理协议中的__enter__和__exit__基本理解
- 用bind方法保持this上下文
- 特征学习——特征工程自动化,无非类似CNN最后一层softmax前的输出层就是特征表征层,但那是分类器,如何用在无标注数据中是难点——word2vec对“上下文”距离建模来实现特征提取;此外,kernel mechine的结合相当于学习内核,即特征空间
- C#综合细说进程、应用程序域与上下文
- C#综合揭秘——细说进程、应用程序域与上下文之间的关系
- 目标检测论文解读复现之十二:基于注意力机制和上下文信息的目标检测算法
- Linux 终于有人把CPU上下文切换说清楚了