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

甚麽是XSS

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

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

我们可以尝试一下在blade.php当中使用 {{ $data->content }}来显示资料,
会出现以下画面,
https://ithelp.ithome.com.tw/upload/images/20210502/20105694amUQH42a6N.png

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

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

我们神奇的发现,
好像没甚麽事情发生耶~
https://ithelp.ithome.com.tw/upload/images/20210502/20105694FBWds0k1qf.png

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

印象中以前的Laravel版本会有XSS的问题,
可能後来改掉了,
查一下我的版本:
php artisan --version
https://ithelp.ithome.com.tw/upload/images/20210502/20105694IsajP0oXOb.png

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


<<:  k8s开的kubectl logs路径修改

>>:  自我笔记 - django 系列 [Redis篇]

[Day10]C# 鸡础观念- 重播与停止 while回圈与break

日子一天一天过, 周而复始,无限循环 C#里面也有重复不断的语句,while while回圈 执行前...

Day 25:独立贩售的音乐类软件外挂

不讳言,C++ 初学者面对 JUCE 这个坑,以主流软件开发趋势(Web stack)来看,要找到跳...

VirtualBox VM 安装 ChromeOS

ChromeOS 版本 Download Cr OS Linux 2.4.1290 (x86) Li...

Angular 如何取得 API 资料

既然昨天已经说了 http post 这件事,那今天就来说说 http get 这部份吧! 今天的资...

DAY29:开启API服务(完赛)

部署及开启API服务-flask 导入套件 import base64 import datetim...