公司项目可能需要对架构进行重建,老大给了我一个视频让我学习里面的思想,看完后觉得收获很大,主讲人对laravel项目各个层次有很清晰的理解,力求做到职责单一分明,提高可维护性。下面是我看完视频对其内容的大概整理,以及一些自己的见解,有错误的请指出。
视频:https://www.youtube.com/watch?v=pzY0FBafXd0 (有墙各位懂的)
CSRF攻击与防御
转载地址:https://blog.csdn.net/stpeace/article/details/53512283
CSRF概念
CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。
Laravel 实现单用户登录
需求:同一时间只能有一个人登录账号,后登录者会把前登录者顶下线
参考:https://laravel-china.org/articles/2929/laravel-single-user-login
https://segmentfault.com/a/1190000007906164
关键思路:登录时制作一个token(根据id,ip,time),保存在session和redis中,在检查登录的中间件加一个token检验,如果token对不上说明有第二个人在另一个地方登录导致token被改变了,旧的登录者auth::logout(),重定向到登录页面
(原本参考laravel-china的文章使用响应后面添加withCookie来存token,后面想到cookie在浏览器关闭后会被删除,于是使用session)
phpcs插件规范代码
正式步入编程应该有1年多了,需要学习的还有数不尽的知识点。代码规范,在工作前我写的代码不多,也不规范不整洁,来到公司第一件事就是看手册,规范手册:http://docs.r9it.com/manual/php/ 但平时习惯一时改不过来,在Laravel China社区看见一篇文章介绍phpcs 插件,能够辅助和实时提醒我们的代码规范性
Github安装
地址:https://github.com/squizlabs/PHP_CodeSniffer
似乎Composer安装时最方便的,我是跟着https://laravel-china.org/articles/13006/recommend-a-phpcs-plug-in-to-standardize-laravel-code-specification-from-local-code-to-version-control
这篇文章来安装操作的