浅谈Laravel模板实体转义带来的坑


Posted in PHP onOctober 22, 2019

问题

最近在Laravel项目中用到了百度编辑器,插入到数据库我保存的是原始的html标签代码,没有进行实体转义。然后在修改的时候,需要读取到数据库中的数据,进行回显,这时候竟然在编辑器里面显示html标签代码<p>123</p>,这让我很尴尬,因为以前在tp框架中也是这样写的,但是没有问题。

搜索之路

在知道问题之后,我就开始找百度了,因为一开始的时候我并不知道是框架的原因,我以为是百度编辑器版本的原因,然后收到了许多答案,都是围绕着htmlentities和html_entity_decode这两个函数搞来搞去。我都有试过,但是都没有用,然后这个问题就放下了。

正确方法

第二天我起来,感觉这个问题一定要解决,然后就搜索了看了Laravel官网的api,然后扎到blade模板这一节,看到这个。

Blade {{ }} statements are automatically sent through PHP's htmlspecialchars function to prevent XSS attacks.

意思是:使用{{}}会自动使用php中的htmlspecialchars方法来转义成实体,然后输出。

显示未转义数据

Hello, {!! $name !!}.

然后试了一下,大功告成!

总结

虽然知识大家都懂,但是如果知识换一种方式来考验我们,我们可能一下子并不能滤清思绪,总的来说还是基础比较差,还得补补啊。

以上这篇浅谈Laravel模板实体转义带来的坑就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
如何使用动态共享对象的模式来安装PHP
Oct 09 PHP
在普通HTTP上安全地传输密码
Jul 21 PHP
php下使用以下代码连接并测试
Apr 09 PHP
php $_SERVER当前完整url的写法
Nov 12 PHP
PHP编码规范的深入探讨
Jun 06 PHP
利用php绘制饼状图的实现代码
Jun 07 PHP
php 地区分类排序算法
Jul 01 PHP
php根据数据id自动生成编号的实现方法
Oct 16 PHP
PHP面相对象中的重载与重写
Feb 13 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
Sep 19 PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 27 PHP
Laravel定时任务的每秒执行代码
Oct 22 #PHP
Laravel框架实现定时Task Scheduling例子
Oct 22 #PHP
laravel 解决强制跳转 https的问题
Oct 22 #PHP
Laravel重定向,a链接跳转,控制器跳转示例
Oct 22 #PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 #PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 #PHP
laravel添加前台跳转成功页面示例
Oct 22 #PHP
You might like
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
ThinkPHP中的关联模型注意点
2014/06/16 PHP
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
Javascript的匿名函数小结
2009/12/31 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
javascript学习笔记(四)function函数部分
2014/09/30 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
2017/08/10 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
2018/03/23 Javascript
让Vue也可以使用Redux的方法
2018/05/23 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
深入理解python中的atexit模块
2017/03/07 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
python 切换root 执行命令的方法
2019/01/19 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
python3 pillow模块实现简单验证码
2019/10/31 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
python对文件的操作方法汇总
2020/02/28 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
tensorflow实现从.ckpt文件中读取任意变量
2020/05/26 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
行政人事岗位职责
2014/03/17 职场文书
工商干部先进事迹
2014/05/14 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers