TP5和Laravel有什么不同,CSRF防御保护怎么做
Admin 2022-06-16 群英技术资讯 723 次浏览
区别:1、Laravel在提交表单时需要在表单中加入“@csrf”来防止跨域攻击,而tp不需要添加;2、Laravel使用“Db::操作(‘原生sql’)”进行原生查询,而tp使用“Db::query(‘原生sql’)”进行原生查询。
本教程操作环境:windows10系统、Laravel6版,DELL G3电脑。
一.TP5和Laravel框架的区别
区别:
1、提交数据的方式,Laravel在提交表单时需要在表单中加入@csrf或者{undefined{ csrf_token() }}来防止跨域攻击,而TP不会。
2、路由,Laravel必须先定义,再使用,路由文件为routes.php,TP在配置文件中开启路由后,路由格式是:‘路由表达式’ => ‘路由地址和参数’(使用路由的前提是URL支持phthinfo并且开启路由),路由可以使URL更符合SEO。
3、中间件,Laravel的中间件,中间件就是HTTP请求到达之前经过的层,通过中间件我们可以验证用户是否登录等一些通用操作。
4、操作数据库方式,都可以使用实例化(建立相对应的模型类)和DB:table(‘表名’)来操作数据库,使用原生查询时不太相同,Laravel使用Db::操作(‘原生sql’),TP使用Db::query(‘原生sql’);
5、Laravel升级十分简易,而TP大版本的升级要重构代码。
6.条件判断语句书写方式的差异:
Laravel框架里 if else判断语句和foreach语句 书写时必须以@if开头 以@endif结尾,如果没有则报语法错误,@foreach @endforeach同理;
而TP框架则和PHP语法规则使用方式一致直接ifesle语句判断和foreach循环遍历
二.CSRF保护
CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,
防御CSRF攻击:
目前防御 CSRF 攻击主要有三种策略:验证 HTTP Referer 字段;在请求地址中添加 token 并验证;在 HTTP 头中自定义属性并验证。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php中__isset方法的使用:1、isset()是测定变量是否设定用的函数,传入一个变量作为参数,如果传入的变量存在则传回true,否则传回false。2、当对不可访问的属性调用isset(),或empty()时候会被自动调用。
本文则给大家介绍怎么用PHP判断两个给定的整数是不是在指定范围内!具体问题描述是“如何编写一个PHP程序来检查两个给定的整数是否在100..200范围内(包括 100..200)”?
php中__sleep方法的使用:1、在类的外部调用serialize()时自动调用。2、__sleep()方法通常用于提交未提交的数据或类似的清理操作。如果有一些大对象,但不需要完全保存,这个功能非常有用。
php中__get获取成员属性:1、可以在对象外部获取私有成员属性,__get()不光只是获取当前类的私有成员变量,还能在这个方法里面做其他操作。2、如果成员属性不封装成私有的,对象本身就不会去自动调用这个方法。
今天小编就为大家分享一篇在laravel框架中实现封装公共方法全局调用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008