作者alpe (薛丁格的貓)
看板PHP
標題Re: [討論] PHP是個漏洞多且不安全的後端語言?
時間Thu May 7 17:53:05 2020
※ 引述《red0whale (red whale)》之銘言:
: 標題: [討論] PHP是個漏洞多且不安全的後端語言?
: 時間: Thu May 7 11:30:19 2020
:
: 昨天我的資料庫老師說
: PHP是一個漏洞相當多、非常不安全
: 而且是外面業界鮮少在使用的後端程式語言
: 他還說PHP只是給學生在用的程式語言
我愛跟老師抬槓... 不認同也是會不客氣的,只不過後果自負。
: 而他建議我們做網頁後端最好使用像C#或Java之類的需要編譯過後才能使用的「編譯語言
: 而非使用像PHP這種「直譯語言」
: 原因之一在於PHP是以明文儲存程式碼
: 在外面業界如果使用明文丟後端程式語言給其他人,早就造成安全上的漏洞了
編譯語 vs 直譯語言 不是要開始戰效能嗎?戰安全性搞錯了吧?
安全性是看寫程式的頭腦,ASP的網站安全性有好嗎?
啥 Linux/Mysql/postgresql 都是 Open Source Code的.
安全漏洞有比 win 多?
: 所以非常不建議使用PHP作為網頁後端的程式語言
: 用PHP連後端資料庫是非常危險的
: 原因也是因為直譯式的關係
: 如果用PHP的話,資料庫的帳號密碼之類的也很容易外露造成資安漏洞
所以編譯就看不到? 媽呀什麼神邏輯!
再說不管那個很多時候 db account & pw 根本是寫在 config 或環境變數
根本不在主程式裡.
: 所以他說在外面業界幾乎很少有人會使用像PHP這種直譯式程式語言作為網頁後端的程式
: 也非常不建議使用PHP,因為它本身的漏洞實在太多,且相當不安全
外面業界是吧. 104開一下打 php / java 進去看看, 工作了13+年還
不知道有這回事呢
: 對於PHP不安全、漏洞多有沒有什麼能夠補救的辦法?
在上資料庫那總有資訊安全相關課程吧,軟體安全流程之類的看看吧
java, c# 寫成垃圾的也很多
: 順帶一提,我也有想過,像Facebook、Wikipedia 之類的大網站不也是使用PHP作為其中
: 雖然昨天也有跟老師討論到這個
: 不過老師是跟我說,那些大網站使用PHP也只是用來做顯示前端的一些部分
: 真正使用後端像是連資料庫之類的根本不可能使用PHP來寫
: 他說如果他們用PHP做後端的話是相當不安全、風險很高的作法
這是上世紀的想法了吧... 的確PHP原始是打算做前端的,後端
是要用C寫... ... 美麗的意外後就變成這樣了。
過去5~7年 前端呈現都變成 javascript 的天下了,很多時候 phper
寫出來的東西連 html tag 都看不到.
: --
:
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.4.100 (臺灣)
: ※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1588822221.A.F9A.html
: 推 alpe: 呵呵呵~ 你說你也用好幾年了打臉你老師不難吧 05/07 11:42
:
: 其實當下我也不知道該怎麼反駁老師
: 也不敢直接去“打臉”老師(畢竟他是我的老師,而且也怕再吵下去可能不會有什麼好下
: 場)
所以台灣學術界死老頭特別多
: 不過PHP真的有像他講的這麼不安全、漏洞超多,且是個不適合出社會在業界寫後端程式碼
: 的語言嗎?(疑惑)
軟體工程安全篇~
:
: → ddoll288: BufferUnderRun vs stackOverFlow 嘻嘻 05/07 11:46
: 推 swallowcc: 通常寫出爛扣弄出漏洞的都是人啊 XD 不敢說語言本身絕 05/07 11:46
: → swallowcc: 對完美無缺,但在那之前開發者要自己守好本份 05/07 11:46
: 推 swallowcc: 認真說的話,我是覺得這老師對 PHP 有成見吧 ._." 05/07 11:48
: → ddoll288: 我常看到java寫的API吐NULL出來呢 05/07 11:51
: 推 newton2009: 那個人根本就想讓你幫他改code吧... 扯到程式語言不 05/07 13:16
: → newton2009: 知是何居心... 05/07 13:16
: 噓 tsao1211: 這老師水準太低了 05/07 13:24
: → tyh11: 趕快換老師 05/07 14:30
: → tkdmaf: 你問他:那為什麼你會在這當老師? 05/07 14:55
:
:
: 當下聽到老師講的這些話,我一開始也信以為真的認為PHP是個漏洞很多、
: 且官方也沒再繼續維護的後端程式語言
年初都在規劃 PHP 8.0 預計年底要 release. 沒在維護?
老師不是無所不知的,很多老師是混蛋!
: 老師的意思好像是說「編譯程式」可以做成類似接口的形式
: 把編譯好的二進制檔案提供給別人繼續使用及維護,但別人仍然看不到原先編譯前的明碼
: 不知道老師的意思是不是這樣…
: 還是說丟給公司的程式可以弄成編譯好的形式,別人也無法偷窺裡面的程式碼內容?
這個資安沒有關係. 最多就是商業機密/價值.
--
Exactly. For that one fraction of a second, you were open to options
you had never considered. THAT is the exploration that awaits you:
not mapping stars and studying nebulae,but
charting the unknown possibilities of existence.
Star Trek S7E26 "All Good Thing"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.165.80.153 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1588845194.A.00C.html
1F:推 takumi412: 我看過某上市公司內部ERP把SQL string寫在html input 05/08 09:45
2F:→ takumi412: tag 的驚世之舉... 05/08 09:46
3F:→ MOONRAKER: 我也看過超棒的 而且是在某網站新聞看到的 是同一個嗎 05/08 15:07
4F:→ alpe: 古早年代什麼鬼事都會發生. 雖然說現在也還是有 05/08 19:21
5F:→ MOONRAKER: 不超過五年。 05/09 14:21
6F:→ MOONRAKER: 不過在以前和現在的公司都碰過懶鬼programmer寫「忘記 05/09 14:22
7F:→ MOONRAKER: 密碼」功能之類的驗證直接把明碼寫在javascript裡面... 05/09 14:23
8F:推 Refauth: 真的假的啊樓上XD 05/09 23:26
9F:→ MOONRAKER: 真的! 05/10 13:11
10F:→ MOONRAKER: 也不是忘記密碼,應該就是簡易活動網頁的密碼驗證 05/10 13:11
11F:→ MOONRAKER: 還沿用好幾版沒人發現 講這麼多應該猜得出來什麼公司了 05/10 13:13
12F:→ laechan: 我唸的大學,聽說還在教 c, 最簡單的那種 05/12 09:56
14F:→ laechan: 好歹教個python或php腳本.. 05/12 10:12
15F:推 swallowcc: 教C先嚇嚇他, 撐不住的就會覺得自己不適合寫扣 (誤 05/12 11:03
16F:→ MOONRAKER: C語言不是沒發展,要學好也絕對不簡單。我現在絕對不想 05/12 11:28
17F:→ MOONRAKER: 回去寫C程式。C的問題是很多老師一套東西教20年不變 05/12 11:30
18F:→ MOONRAKER: 或者沈迷在 a *= a-- * ++b 這種「動物奇觀」當中 05/12 11:36