浅谈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 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
PHP自动生成月历代码
Oct 09 PHP
php&amp;java(一)
Oct 09 PHP
用PHP连接MySQL代码的参数说明
Jun 07 PHP
PHP中用正则表达式清除字符串的空白
Jan 17 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
PHP学习笔记之字符串编码的转换和判断
May 22 PHP
PHP统计当前在线用户数实例讲解
Oct 21 PHP
php 截取utf-8格式的字符串实例代码
Oct 30 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 PHP
thinkphp jquery实现图片上传和预览效果
Jul 22 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 25 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
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
Laravel实现用户注册和登录
2015/01/23 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
TBCompressor js代码压缩
2011/01/05 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
Vue.js进阶知识点总结
2018/04/01 Javascript
代码分析vue中如何配置less
2018/09/28 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
[01:51]2014DOTA2西雅图邀请赛 MVP 外卡赛black场间采访
2014/07/09 DOTA
selenium处理元素定位点击无效问题
2019/06/12 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
Python实现获取当前目录下文件名代码详解
2020/03/10 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
2021/01/07 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
GWebs公司笔试题
2012/05/04 面试题
怎样声明一个匿名的内部类
2016/06/01 面试题
趣味比赛活动方案
2014/02/15 职场文书
电子银行营销方案
2014/02/22 职场文书
大学生社团活动总结
2014/04/26 职场文书
新农村建设标语
2014/06/24 职场文书
同志主要表现材料
2014/08/21 职场文书
党支部党的群众路线对照检查材料
2014/09/24 职场文书
幼儿学前班评语
2014/12/29 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python