開發PHP商城要注意的一些常見安全問題

相對於Java,C++,C#,Python等語言來說, PHP 在 商城方面有更大的優勢,有開發效率高,框架選擇多,可選擇的開源產品多,可以大大減少開發成本和加快產品迭代,比如基於Thinkphp框架開發出的開源商城DSMall,DSHOP,DSKMS等等,基於此類產品開發可以大大加快開發速度,讓項目迅速上線,同時Thinkphp框架可直接升級。

一般情況下我們在自己開發的過程中,需要注意PHP安全方面的知識,以下就說一下常見安全問題。

1.SQL 注入
SQL 注入是常見網站最大的威脅之一,如果數據庫受到SQL 注入的***,那麼可以獲取你全部的數據庫。
當前主流的解決方法有兩種。轉義用戶輸入的數據或者使用封裝好的語句。一般用一個封裝好的函數,用來對用戶提交的數據進行過濾。
2.XSS
XSS 又叫 CSS (Cross Site Script) ,跨站腳本***。它指的是惡意***者往 Web 頁面裏插入惡意 html 代碼,當用戶瀏覽該頁之時,嵌入其中 Web 裏面的 html 代碼會被執行,從而達到惡意***用戶的特殊目的。
正確的做法是堅決不要相信用戶的任何輸入,並過濾掉輸入中的所有特殊字符。這樣就能消滅絕大部分的 XSS ***

3.XSRF/CSRF 跨站請求僞造
它是***者通過一些技術手段欺騙用戶去訪問曾經認證過的網站並運行一些操作。
最常用的防禦方法是生成一個 CSRF 令牌加密安全字符串,一般稱其爲 Token,每次你在網頁構造表單時,將 Token 令牌放在表單中的隱藏字段, Session 裏的 Token 令牌比對,校驗成功纔給予通過。

如果在這些TP框架中的開源商城系統中進行二次開發,您這邊需要注意的應該有以下幾點。

1.設置public目錄爲唯一對外訪問目錄,不要把資源文件放入應用目錄;
2.開啓表單令牌驗證避免數據的重複提交,能起到CSRF防禦作用;
3.使用框架提供的請求變量獲取方法(Request類param方法及input助手函數)而不是原生系統變量獲取用戶輸入數據;
4.對不同的應用需求設置default_filter過濾規則(默認沒有任何過濾規則),常見的安全過濾函數包括stripslashes、htmlentities、htmlspecialchars和strip_tags等,請根據業務場景選擇最合適的過濾方法;
5.使用驗證類或者驗證方法對業務數據設置必要的驗證規則;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章