116 个回复 | 最后更新于 2016-05-17
2016-05-16   #100

用户名可以是明文,放数据库的前提是加密足够强难以被破解,而且最好没有注入漏洞,不然还是不够安全的。

#99 @lincanbin :

回复#98 @ivanilla :

数据就放数据库,不能改的就放常量配置文件。

如果配置文件里存管理员信息明文,那就更傻了。

2016-05-16   #101

回复#100 @ivanilla :

注入漏洞是上个世纪的事了,现在有参数绑定,有预处理,SQL注入已经是历史了。

2016-05-16   #102

回复#101 @lincanbin :

之前在知乎看到有人说PHP预处理也不是100%安全,但是我也不能确定他说的是否正确。

其实严格过滤参数更重要,不是string的参数一定要转换成对应的类型,有些程序的用户注册是不允许有空格的,或许也是为了在某种程度上避免注入的发生。

不过我看过一些程序的数据库封装,基本上没有看到预处理语句,它们的设计还有待改进。

2016-05-16   #103

回复#102 @ivanilla :

不是100%安全,是因为有的人,在有预处理的情况下,还是会自己去拼接SQL字符串。

参数类型的转换没有意义,PHP是若类型语言。

没预处理是他们的问题。

2016-05-16   #104

回复#103 @lincanbin :

参数的转换是有意义的。

比如get请求ID=数字,如果用intval处理之后就可以避免注入,这是另一个轻论坛程序YouBBS之前的注入漏洞和修复方法:http://youbbs.sinaapp.com/t/1911

2016-05-16   #105

回复#104 @ivanilla :

没有意义,因为YouBBS用的是mysql库,而不是mysqli,也不是PDO。

这个数据库连接驱动在最近版本的PHP中已经被移除了,也就是意味着YouBBS并不能运行在新版本PHP上。

PHP官方移除这个驱动的原因就是因为这个并不安全。


YouBBS就是因为用了这种烂玩意儿,才需要这么处理。

但你不能因此奇瑞QQ要加汽油,就也认为特斯拉汽车,也需要加汽油。

你没有理解SQL注入的本质。

2016-05-16   #106

回复#105 @lincanbin :

我是说过滤输入的方法,而不是说他用哪种PHP数据库扩展。

我这两天会做个实验看看到底有没有用。

2016-05-16   #107

回复#106 @ivanilla :

没有必要过滤,你可以去看PHP官方的文档。

看看为什么YouBBS那辆奇瑞QQ,在新版本的PHP上跑不起来,因为里面全是些废弃零件。


看PHP官方文档,你会知道那些零件被废弃的原因。

2016-05-16   #108

回复#107 @lincanbin :

原来我电脑里面的PHP手册还是去年10月份的……

最开始我确实打算用YouBBS的,后来发现你在知乎上面的回答才选择了CB。

2016-05-16   #109

回复 #108 @ivanilla :

YouBBS 已经多少年没更新了,代码落后洞又多。

2016-05-17   #110

回复#109 @lincanbin :

貌似是半年吧,没注意看时间。

2016-05-17   #111

回复#110 @ivanilla :

我印象中是至少三年。

2016-05-17   #112

回复#111 @lincanbin :

看Github,不过master分支倒是11个月之前的了。

2016-05-17   #113

回复#112 @ivanilla :

改了几行代码,为了修复一个高危漏洞。

2016-05-17   #114

回复#113 @lincanbin :

多个文件显示11个月之前。

2016-05-17   #115

回复#114 @ivanilla :

都是些很鸡毛蒜皮的修改。

我查了下,最近三年,一共:

22 commits / 435 ++ / 279 --

2016-05-17   #116

回复#115 @lincanbin :

那看来幸好我看到了你在知乎的那个回答。

登录后方可回帖

登 录
信息栏

Carbon Forum是一个基于话题的高性能轻型PHP论坛

下载地址:Carbon Forum v5.9.0
QQ群:12607708(QQ我不常上)

donate

手机支付宝扫描上方二维码可向本项目捐款

粤公网安备 44030602003677号
粤ICP备17135490号

Loading...