有关 单例模式 和安全性 [ 未指定版本 ]
PHP刚学半年,yii2摸索了也有几个月了,。但有两个问题一直困扰我- -
在慕课网上和同学了解一点防范sql注入,xss攻击啥的,也没了解透。。就是照着做了几个例子。还了解了单例模式工厂模式什么的。然后他们会在用yii2做东西时,自己再写单例、工厂、自己写那几个防sql注入防什么攻击的函数进去。但我一直觉得没必要。。。故来求证下。
1,用yii2 输入框传过来的值 存入数据库、对数据库操作,还需要防范sql注入啥的嘛。因为我感觉噶- -,yii2作为这么吊的一个框架这些基本的安全问题 ,底层啥的肯定都已经考虑到这些问题了吧?
2,new 一个model的时候,还需要自己写单例模式嘛。。
求解
最佳答案
其他 1 个回答
-
1、安全:YII确实已经做了防范,只要用yii给出的接收数据方法就能起到一定的安全防护作用。
如:
yii2接收post数据 \Yii::$app->request->post() ,方法会过滤或者转义一些字符, 但是也会有些人依然用原生的 $_POST[] 来获取,这样写就跟框架本身没什么关系,是搬码猿的问题。所以用YII自带的方法是有一定的安全作用的,不需要自己去写。
可能是人家想给看教程的同学讲解原理,才会自己写过滤方法, 不然你只知道YII安全,但是为什么安全?安全在哪里?有没有了解呢?2、单例模式是为了节省系统资源,一个类只能实例化一个对象。最经典的就是 数据库连接类:程序执行一次,打开一个连接就够了。
在YII框架中自己写单例模式看情况而定,反正我是没写过。
人家的视频教程我觉得应该是要讲解原理的东西,而不是说让你们这样做。当然 还有一种情况,你的水平极高,你发现yii框架过滤的不够安全,你可以自己写安全方法。
共 3 条回复
皮丘吉尔
注册时间:2016-01-27
最后登录:2016-10-28
在线时长:7小时53分
最后登录:2016-10-28
在线时长:7小时53分
- 粉丝1
- 金钱60
- 威望0
- 积分130