作者red0whale (red whale)
看板PHP
标题[讨论] PHP是个漏洞多且不安全的後端语言?
时间Thu May 7 11:30:19 2020
昨天我的资料库老师说
PHP是一个漏洞相当多、非常不安全
而且是外面业界鲜少在使用的後端程式语言
他还说PHP只是给学生在用的程式语言
而他建议我们做网页後端最好使用像C#或Java之类的需要编译过後才能使用的「编译语言
」
而非使用像PHP这种「直译语言」
原因之一在於PHP是以明文储存程式码
在外面业界如果使用明文丢後端程式语言给其他人,早就造成安全上的漏洞了
所以非常不建议使用PHP作为网页後端的程式语言
另外,他也提及
用PHP连後端资料库是非常危险的
原因也是因为直译式的关系
如果用PHP的话,资料库的帐号密码之类的也很容易外露造成资安漏洞
所以他说在外面业界几乎很少有人会使用像PHP这种直译式程式语言作为网页後端的程式
语言
也非常不建议使用PHP,因为它本身的漏洞实在太多,且相当不安全
不晓得各位有什麽看法?
对於PHP不安全、漏洞多有没有什麽能够补救的办法?
顺带一提,我也有想过,像Facebook、Wikipedia 之类的大网站不也是使用PHP作为其中
一种程式语言吗?
虽然昨天也有跟老师讨论到这个
不过老师是跟我说,那些大网站使用PHP也只是用来做显示前端的一些部分
真正使用後端像是连资料库之类的根本不可能使用PHP来写
他说如果他们用PHP做後端的话是相当不安全、风险很高的作法
然而,我已经使用PHP做为後端语言已经好几年了
听到老师这番话要我全部改学另一种语言而且又要把先前已写好好几万行的PHP码全部都
改写
我认为这是个相当相当浩大的工程
希望各位可以给些建议和看法
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.44.4.100 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1588822221.A.F9A.html
1F:推 alpe: 呵呵呵~ 你说你也用好几年了打脸你老师不难吧 05/07 11:42
其实当下我也不知道该怎麽反驳老师
也不敢直接去“打脸”老师(毕竟他是我的老师,而且也怕再吵下去可能不会有什麽好下
场)
不过PHP真的有像他讲的这麽不安全、漏洞超多,且是个不适合出社会在业界写後端程式码
的语言吗?(疑惑)
2F:→ ddoll288: BufferUnderRun vs stackOverFlow 嘻嘻 05/07 11:46
3F:推 swallowcc: 通常写出烂扣弄出漏洞的都是人啊 XD 不敢说语言本身绝 05/07 11:46
4F:→ swallowcc: 对完美无缺,但在那之前开发者要自己守好本份 05/07 11:46
5F:推 swallowcc: 认真说的话,我是觉得这老师对 PHP 有成见吧 ._." 05/07 11:48
6F:→ ddoll288: 我常看到java写的API吐NULL出来呢 05/07 11:51
7F:推 newton2009: 那个人根本就想让你帮他改code吧... 扯到程式语言不 05/07 13:16
8F:→ newton2009: 知是何居心... 05/07 13:16
9F:嘘 tsao1211: 这老师水准太低了 05/07 13:24
10F:→ tyh11: 赶快换老师 05/07 14:30
11F:→ tkdmaf: 你问他:那为什麽你会在这当老师? 05/07 14:55
当下听到老师讲的这些话,我一开始也信以为真的认为PHP是个漏洞很多、且官方也没再
继续维护的後端程式语言
不过看板上的推文好像都不认同我老师的看法
那麽想请问一下各位有什麽理由或原因来驳斥老师的说法呢?
PHP直译式程式语言真的会比C#、JAVA编译式程式语言还来得不安全吗?
(这里的安全是指像如果直接丢明码给别人修改或维护之类的会不会造成资安风险,或是
有着更多的安全漏洞之类的)
再者,PHP连资料库是不是真的比其他种後端语言而言更危险呢?
现在大型网站的页面用PHP写的是不是真如老师所言,只用来做前端表面显示的东西、而
不做真正後端如连後端资料库或处理一些敏感资料?
谢谢
※ 编辑: red0whale (114.44.4.100 台湾), 05/07/2020 15:27:22
12F:推 howder5566: 所以你的老师现在还在学界当老师,出不了学界 05/07 15:39
13F:推 swallowcc: JAVA C# 丢给别人维护也是要明码啊 = =" 05/07 15:43
老师的意思好像是说「编译程式」可以做成类似接口的形式
把编译好的二进制档案提供给别人继续使用及维护,但别人仍然看不到原先编译前的明码
不知道老师的意思是不是这样…
还是说丢给公司的程式可以弄成编译好的形式,别人也无法偷窥里面的程式码内容?
14F:→ swallowcc: 当你的code交到别人手上的时候,就不要想太多了,这跟 05/07 15:44
15F:→ swallowcc: 什麽语言都无关,会爬扣找洞的人就是会去找 05/07 15:44
16F:→ swallowcc: 至於连资料库,如果还是要用mysql_connect这种过时的, 05/07 15:45
17F:→ swallowcc: 确实是不太好,建议还是换成新的连法,但最主要的仍然 05/07 15:47
※ 编辑: red0whale (114.44.4.100 台湾), 05/07/2020 15:48:51
18F:→ swallowcc: 是你的扣有没有照规矩写,会不会用 . 去凑字串凑 SQL? 05/07 15:47
19F:→ swallowcc: 回你那句,那他真的太浅,java 要 decompile 很容易的 05/07 15:48
20F:推 swallowcc: 有心一点的会把 code 作混淆,但也不是不能阅读反推 05/07 15:51
22F:推 swallowcc: 而且php都出7.4了,这要说没在维护应该是鬼遮眼了... 05/07 16:01
23F:→ mintu: 可以去找 Wikipedia 用的 MediaWiki source code,来打脸 05/07 17:06
24F:→ mintu: 那个老师 05/07 17:06
26F:→ mintu: .jpg 05/07 17:10
27F:嘘 readper: 业界鲜少使用是三小智障言论 05/07 17:19
28F:→ readper: 资料库连线资讯请使用kms之类的服务好吗? 05/07 17:20
29F:→ readper: 老师停在十年前 你自己写了几年看来也没去理解安全性阿 05/07 17:21
30F:嘘 tsao1211: 你的问题和你老师的意见都太基础了,像是初学者在问的。 05/07 17:38
31F:→ tsao1211: 而且自己google就有答案,Facebook都用PHP起家的,还听 05/07 17:38
32F:→ tsao1211: 你老师那套? 05/07 17:38
其实一开始并不是我问的
有个同学好像要做网页打工请教老师,该同学跟老师说他是写PHP做後端网页的
然後老师就开始念说PHP很糟糕漏洞很多霹雳啪啦的
建议我们不应该使用PHP
我才接下去问老师关於PHP的事情
结果就… 让老师很不耐烦
他甚至还把PHP比喻成木门、其他後端编译程式比喻成铁门
说两种虽然都有可能会被攻破,只是看哪种容易被骇之类的
总之,当时老师就是觉得PHP不好,且在他观念里就是一个漏洞多非常不安全的程式语言
这样
33F:推 ek0519: 应该是淡江的老师 05/07 19:23
怎麽知道的
通灵??
34F:→ chongruei: 敢质疑我大Facebook? 05/07 19:24
※ 编辑: red0whale (114.44.4.100 台湾), 05/07/2020 20:01:27
35F:→ protonchang: 淡江哪个教授这样说啊? 那我写Python应该也蛮不安 05/07 20:06
36F:→ protonchang: 全的...? 直译类语言都不安全 我觉得有点太武断了 05/07 20:09
37F:→ crossdunk: 业界很少用?他的资料哪来的 05/07 20:58
38F:→ tkdmaf: 叫你老师直接来这跟大家聊,他就知死了,我谅他不敢来。 05/07 23:33
39F:推 supersonictw: 跟语言本身没关系 坑是人写的。 05/08 06:31
40F:推 swallowcc: 什麽门都好啦,重点是住户,木门住户都把门锁紧,加装 05/08 09:26
41F:→ swallowcc: 防盗设备,随时跟警局连线,铁门把钥匙挂门上,偶尔还 05/08 09:26
42F:→ swallowcc: 不关门,那谁会被偷很明显啊 05/08 09:26
43F:推 swallowcc: 一样都做好防护的话,除非你家里面放了金山银山,不然 05/08 09:29
44F:→ swallowcc: 绝大部分的小偷只会摸摸鼻子去找下一家偷 05/08 09:30
45F:→ MagicMomo19: 鄙视链又出现了?写久的都知道,最大的漏洞是人.. 05/08 17:04
46F:推 PTTNella: 原来平行世界是真的 05/08 17:44
47F:→ hitgun: 既然是资料库老师,只听资料库部分就好 05/09 00:32
48F:→ ddoll288: 有些人是学一套走江湖数十年,不见得真有本事,是因为 05/09 09:49
49F:→ ddoll288: 底层很多东西根本不会变,但是就是不会去学也不需要学 05/09 09:50
50F:→ ddoll288: 新的技能,叫他上战场实战可能马上就倒了,只能活在 05/09 09:51
51F:→ ddoll288: 被保护的金字塔内,向不的不接受的人传授怪怪的理论 05/09 09:51
52F:推 im93: 换程式不如换老师 05/09 20:14
53F:推 bill0205: 难怪只能待在学界 绝大多数漏洞都马人为的 05/10 00:32
54F:推 ctrlbreak: 危险的是人, 不是语言. 05/10 02:49
55F:推 twsphere: 业界很少用 ?? 你要不要换个老师比较快 05/11 11:52
56F:推 g781: Bug是人导致和语言本身无关。如果按你老师的神逻辑,Python 05/28 19:07
57F:→ g781: 也是直译语言不安全,如果用Python写了一堆後端程式也很不安 05/28 19:07
58F:→ g781: 全,这样Google不就很也很不安全。PHP也可以对程式加密,只 05/28 19:07
59F:→ g781: 是要多花钱。如果用编译语言就安全,这样就没有debug这问题 05/28 19:07
60F:→ g781: 。建议换老师,他可能PHP写不好被骇过,就把问题推给PHP。 05/28 19:07
61F:→ newhandfun: google工程师跟我说他们用python,fb用的是改造後的php 06/25 11:43
62F:→ newhandfun: ,真的豪危险 06/25 11:43
63F:嘘 kobala: 我百分之百确定这老师不懂资安 07/31 17:36