[討論] PHP是個漏洞多且不安全的後端語言?

看板PHP作者 (red whale)時間4年前 (2020/05/07 11:30), 4年前編輯推噓16(20439)
留言63則, 25人參與, 4年前最新討論串1/4 (看更多)
昨天我的資料庫老師說 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://www.ptt.cc/bbs/PHP/M.1588822221.A.F9A.html

05/07 11:42, 4年前 , 1F
呵呵呵~ 你說你也用好幾年了打臉你老師不難吧
05/07 11:42, 1F
其實當下我也不知道該怎麼反駁老師 也不敢直接去“打臉”老師(畢竟他是我的老師,而且也怕再吵下去可能不會有什麼好下 場) 不過PHP真的有像他講的這麼不安全、漏洞超多,且是個不適合出社會在業界寫後端程式碼 的語言嗎?(疑惑)

05/07 11:46, 4年前 , 2F
BufferUnderRun vs stackOverFlow 嘻嘻
05/07 11:46, 2F

05/07 11:46, 4年前 , 3F
通常寫出爛扣弄出漏洞的都是人啊 XD 不敢說語言本身絕
05/07 11:46, 3F

05/07 11:46, 4年前 , 4F
對完美無缺,但在那之前開發者要自己守好本份
05/07 11:46, 4F

05/07 11:48, 4年前 , 5F
認真說的話,我是覺得這老師對 PHP 有成見吧 ._."
05/07 11:48, 5F

05/07 11:51, 4年前 , 6F
我常看到java寫的API吐NULL出來呢
05/07 11:51, 6F

05/07 13:16, 4年前 , 7F
那個人根本就想讓你幫他改code吧... 扯到程式語言不
05/07 13:16, 7F

05/07 13:16, 4年前 , 8F
知是何居心...
05/07 13:16, 8F

05/07 13:24, 4年前 , 9F
這老師水準太低了
05/07 13:24, 9F

05/07 14:30, 4年前 , 10F
趕快換老師
05/07 14:30, 10F

05/07 14:55, 4年前 , 11F
你問他:那為什麼你會在這當老師?
05/07 14:55, 11F
當下聽到老師講的這些話,我一開始也信以為真的認為PHP是個漏洞很多、且官方也沒再 繼續維護的後端程式語言 不過看板上的推文好像都不認同我老師的看法 那麼想請問一下各位有什麼理由或原因來駁斥老師的說法呢? PHP直譯式程式語言真的會比C#、JAVA編譯式程式語言還來得不安全嗎? (這裡的安全是指像如果直接丟明碼給別人修改或維護之類的會不會造成資安風險,或是 有著更多的安全漏洞之類的) 再者,PHP連資料庫是不是真的比其他種後端語言而言更危險呢? 現在大型網站的頁面用PHP寫的是不是真如老師所言,只用來做前端表面顯示的東西、而 不做真正後端如連後端資料庫或處理一些敏感資料? 謝謝 ※ 編輯: red0whale (114.44.4.100 臺灣), 05/07/2020 15:27:22

05/07 15:39, 4年前 , 12F
所以你的老師現在還在學界當老師,出不了學界
05/07 15:39, 12F

05/07 15:43, 4年前 , 13F
JAVA C# 丟給別人維護也是要明碼啊 = ="
05/07 15:43, 13F
老師的意思好像是說「編譯程式」可以做成類似接口的形式 把編譯好的二進制檔案提供給別人繼續使用及維護,但別人仍然看不到原先編譯前的明碼 不知道老師的意思是不是這樣… 還是說丟給公司的程式可以弄成編譯好的形式,別人也無法偷窺裡面的程式碼內容?

05/07 15:44, 4年前 , 14F
當你的code交到別人手上的時候,就不要想太多了,這跟
05/07 15:44, 14F

05/07 15:44, 4年前 , 15F
什麼語言都無關,會爬扣找洞的人就是會去找
05/07 15:44, 15F

05/07 15:45, 4年前 , 16F
至於連資料庫,如果還是要用mysql_connect這種過時的,
05/07 15:45, 16F

05/07 15:47, 4年前 , 17F
確實是不太好,建議還是換成新的連法,但最主要的仍然
05/07 15:47, 17F
※ 編輯: red0whale (114.44.4.100 臺灣), 05/07/2020 15:48:51

05/07 15:47, 4年前 , 18F
是你的扣有沒有照規矩寫,會不會用 . 去湊字串湊 SQL?
05/07 15:47, 18F

05/07 15:48, 4年前 , 19F
回你那句,那他真的太淺,java 要 decompile 很容易的
05/07 15:48, 19F

05/07 15:51, 4年前 , 20F
有心一點的會把 code 作混淆,但也不是不能閱讀反推
05/07 15:51, 20F

05/07 15:58, 4年前 , 21F
隨手抓個 jar 來拍照
05/07 15:58, 21F

05/07 16:01, 4年前 , 22F
而且php都出7.4了,這要說沒在維護應該是鬼遮眼了...
05/07 16:01, 22F

05/07 17:06, 4年前 , 23F
可以去找 Wikipedia 用的 MediaWiki source code,來打臉
05/07 17:06, 23F

05/07 17:06, 4年前 , 24F
那個老師
05/07 17:06, 24F

05/07 17:10, 4年前 , 25F
看看 MediaWiki 的語言佔比 https://i.imgur.com/ap76MuS
05/07 17:10, 25F

05/07 17:10, 4年前 , 26F
.jpg
05/07 17:10, 26F

05/07 17:19, 4年前 , 27F
業界鮮少使用是三小智障言論
05/07 17:19, 27F

05/07 17:20, 4年前 , 28F
資料庫連線資訊請使用kms之類的服務好嗎?
05/07 17:20, 28F

05/07 17:21, 4年前 , 29F
老師停在十年前 你自己寫了幾年看來也沒去理解安全性阿
05/07 17:21, 29F

05/07 17:38, 4年前 , 30F
你的問題和你老師的意見都太基礎了,像是初學者在問的。
05/07 17:38, 30F

05/07 17:38, 4年前 , 31F
而且自己google就有答案,Facebook都用PHP起家的,還聽
05/07 17:38, 31F

05/07 17:38, 4年前 , 32F
你老師那套?
05/07 17:38, 32F
其實一開始並不是我問的 有個同學好像要做網頁打工請教老師,該同學跟老師說他是寫PHP做後端網頁的 然後老師就開始唸說PHP很糟糕漏洞很多霹靂啪啦的 建議我們不應該使用PHP 我才接下去問老師關於PHP的事情 結果就… 讓老師很不耐煩 他甚至還把PHP比喻成木門、其他後端編譯程式比喻成鐵門 說兩種雖然都有可能會被攻破,只是看哪種容易被駭之類的 總之,當時老師就是覺得PHP不好,且在他觀念裡就是一個漏洞多非常不安全的程式語言 這樣

05/07 19:23, 4年前 , 33F
應該是淡江的老師
05/07 19:23, 33F
怎麼知道的 通靈??

05/07 19:24, 4年前 , 34F
敢質疑我大Facebook?
05/07 19:24, 34F
※ 編輯: red0whale (114.44.4.100 臺灣), 05/07/2020 20:01:27

05/07 20:06, 4年前 , 35F
淡江哪個教授這樣說啊? 那我寫Python應該也蠻不安
05/07 20:06, 35F

05/07 20:09, 4年前 , 36F
全的...? 直譯類語言都不安全 我覺得有點太武斷了
05/07 20:09, 36F

05/07 20:58, 4年前 , 37F
業界很少用?他的資料哪來的
05/07 20:58, 37F

05/07 23:33, 4年前 , 38F
叫你老師直接來這跟大家聊,他就知死了,我諒他不敢來。
05/07 23:33, 38F

05/08 06:31, 4年前 , 39F
跟語言本身沒關係 坑是人寫的。
05/08 06:31, 39F

05/08 09:26, 4年前 , 40F
什麼門都好啦,重點是住戶,木門住戶都把門鎖緊,加裝
05/08 09:26, 40F

05/08 09:26, 4年前 , 41F
防盜設備,隨時跟警局連線,鐵門把鑰匙掛門上,偶爾還
05/08 09:26, 41F

05/08 09:26, 4年前 , 42F
不關門,那誰會被偷很明顯啊
05/08 09:26, 42F

05/08 09:29, 4年前 , 43F
一樣都做好防護的話,除非你家裡面放了金山銀山,不然
05/08 09:29, 43F

05/08 09:30, 4年前 , 44F
絕大部分的小偷只會摸摸鼻子去找下一家偷
05/08 09:30, 44F

05/08 17:04, 4年前 , 45F
鄙視鏈又出現了?寫久的都知道,最大的漏洞是人..
05/08 17:04, 45F

05/08 17:44, 4年前 , 46F
原來平行世界是真的
05/08 17:44, 46F

05/09 00:32, 4年前 , 47F
既然是資料庫老師,只聽資料庫部分就好
05/09 00:32, 47F

05/09 09:49, 4年前 , 48F
有些人是學一套走江湖數十年,不見得真有本事,是因為
05/09 09:49, 48F

05/09 09:50, 4年前 , 49F
底層很多東西根本不會變,但是就是不會去學也不需要學
05/09 09:50, 49F

05/09 09:51, 4年前 , 50F
新的技能,叫他上戰場實戰可能馬上就倒了,只能活在
05/09 09:51, 50F

05/09 09:51, 4年前 , 51F
被保護的金字塔內,向不的不接受的人傳授怪怪的理論
05/09 09:51, 51F

05/09 20:14, 4年前 , 52F
換程式不如換老師
05/09 20:14, 52F

05/10 00:32, 4年前 , 53F
難怪只能待在學界 絕大多數漏洞都馬人為的
05/10 00:32, 53F

05/10 02:49, 4年前 , 54F
危險的是人, 不是語言.
05/10 02:49, 54F

05/11 11:52, 4年前 , 55F
業界很少用 ?? 你要不要換個老師比較快
05/11 11:52, 55F

05/28 19:07, 4年前 , 56F
Bug是人導致和語言本身無關。如果按你老師的神邏輯,Python
05/28 19:07, 56F

05/28 19:07, 4年前 , 57F
也是直譯語言不安全,如果用Python寫了一堆後端程式也很不安
05/28 19:07, 57F

05/28 19:07, 4年前 , 58F
全,這樣Google不就很也很不安全。PHP也可以對程式加密,只
05/28 19:07, 58F

05/28 19:07, 4年前 , 59F
是要多花錢。如果用編譯語言就安全,這樣就沒有debug這問題
05/28 19:07, 59F

05/28 19:07, 4年前 , 60F
。建議換老師,他可能PHP寫不好被駭過,就把問題推給PHP。
05/28 19:07, 60F

06/25 11:43, 4年前 , 61F
google工程師跟我說他們用python,fb用的是改造後的php
06/25 11:43, 61F

06/25 11:43, 4年前 , 62F
,真的豪危險
06/25 11:43, 62F

07/31 17:36, 4年前 , 63F
我百分之百確定這老師不懂資安
07/31 17:36, 63F
文章代碼(AID): #1Uiu3D-Q (PHP)
文章代碼(AID): #1Uiu3D-Q (PHP)