iT邦幫忙

0

聽說把資料庫的查詢語法和網頁寫在同一個檔案裡很危險,但哪裡危險呢?

  • 分享至 

  • xImage

比如把sql的新增查詢修改直接寫在index.php裡面,會比放在另外一個sql.php,然後用include("sql.php");更危險嗎?

感覺直接右鍵檢視原始碼就能看到sql語法很危險,但具體危險在哪裡呢?

看更多先前的討論...收起先前的討論...
你就祈禱PHP檔別外流,如果外流或分發給危險的主機上,那就小心不要發生SQL INJECTION事件!
rew87516 iT邦新手 4 級 ‧ 2022-09-02 14:09:52 檢舉
原始碼沒有固定資料夾結構,隨意把 slq 丟得到處都是會有維護上的麻煩吧,如果維護時依賴關係沒改好就出現 BUG 了。
SQL INJECTION +1
canrong iT邦新手 3 級 ‧ 2022-09-02 15:05:17 檢舉
可以看看OWASP Cheat Sheet Series的內容
https://cheatsheetseries.owasp.org/
出錢的老闆說的算
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
5
海綿寶寶
iT邦大神 1 級 ‧ 2022-09-02 13:29:22

聽說把資料庫的查詢語法和網頁寫在同一個檔案裡很危險,但哪裡危險呢?

聽誰說的
就去問誰

1

.PHP 是屬於 Server Side 的程序,所以,
在瀏覽器檢是原始檔,是完全看不到 PHP 的原始碼。

PS:前提,你的 .PHP 檔是要執行 Server Side CGI 的路由,如果沒設,那當然只是一般檔案,那瀏覽器當然可以看到原始碼。

4

一般將 sql 指令統統寫到index.php
危險程度當然是有。

但並不是你想像的看網頁原始碼就可以看到程式碼。
當然,這的確也是原因可能性之一。
因為如果說WEB SERVER沒裝PHP的情況下。
確實有機會會直接將程式碼用文字模式全部秀出來。

但理論上來說,在有能執行PHP的情況下。是一定在網頁上看不到的PHP相關的程式碼。
(不要跟我說echo或print, 我一定會很想打你)

一般會擔心的危險。大多數是容易被猜到及容易運行。
畢竟 index.php 來說,都是指定的預設運行。並不需要用 「域名/index.php」就可以運行的。
所以當然在安全性上就多了十分危險性。也比較容易被人家注入。

如果還想要更進一步了解資安安全議題。利用一下這一次的鐵人賽吧。
我記得好像有資安的主題存在。去看看人家寫的。

0
poni
iT邦新手 5 級 ‧ 2022-09-05 09:52:40

把 sql 語句寫在一起,並沒有讓 php 變的更加危險…
樓上海綿寶寶說的好,誰說危險的就去問誰

2
混水摸魚
iT邦研究生 2 級 ‧ 2022-09-05 11:44:29

我覺得會有危險應該是資料庫帳密外流,但資料庫連線預設的是localhost除非你有開遠端連線的權限,但也要剛好你開的是對外全開但通常會開會限定連線ip。至於sql注入使用pdo連線可避免。

通常會有危險的是人不會是程式,程式你寫的再爛沒有外流別人也很難破解,你可以看有opensouse的cms,三不五時會要你更新因為有人找到漏洞你不更新等著被入侵。

遇過主機被入侵被植入跳板程式,還有phpmyadmin密碼被破解,這都是因為管理階層完全沒有資安概念只覺得主機裝好可以用就好,就沒人去管他連防火牆也沒裝,連幫phpmyadmin設定安全目錄都沒有。

結論危險的永遠是無知的人,而不是程式。

我要發表回答

立即登入回答