[Day 51] 留言板后台及前台(七) - 那些年,我们一起踩的XSS

甚么是XSS

针对网站有很多种攻击方式,
SQL Injection是一种,
另外还有一种常见的是XSS,
如果到网路上查会有很多XSS相关的文章,
那到底什么是XSS呢?

XSS又称为跨站脚本攻击(Cross Site Scripting),
看了这个名称,
就知道它跟JavaScript相关,
简单说就是利用JavaScript来进行攻击,
譬如窃取你的Cookie资料,
然后伪造身份等等的,
不过我们在这里不谈攻击,
我们只谈如何防护.

我们可以尝试一下在blade.php当中使用 {{ $data->content }}来显示资料,
会出现以下画面,
http://img2.58codes.com/2024/20105694amUQH42a6N.png

所有的Html语法全部都显示出来了,
这样不如不要用文字编辑器,
那如果我们用了{!! $data->content !!}的方式,
我们现在再写一个留言,
留言内容也很简单,
就下面这样就好

这是测试<script>alert('测试');</script>

我们神奇的发现,
好像没甚么事情发生耶~
http://img2.58codes.com/2024/20105694FBWds0k1qf.png

如果去看原始码,
会发现它把每一行都转成字串来处理,
自然就不会有XSS的问题,
所以如果我们用了新版的Laravel,
可以假装没有XSS这件事,
这让我们在开发上也比较轻鬆.

印象中以前的Laravel版本会有XSS的问题,
可能后来改掉了,
查一下我的版本:
php artisan --version
http://img2.58codes.com/2024/20105694IsajP0oXOb.png

原来是7.28的版本,
网路上还有 Laravel 5 如何处理XSS的文章,
所以 Laravel 5 应该还是有XSS的隐患.


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章