php 應用程式安全防範技術研究
PHP安全防範程式模型
複製程式碼程式碼如下:
/* PHP防注入跨站V1.0
在您的頁上方新增: require(“menzhi_injection.php”);以及XSS跨站漏洞。
##################缺陷以及改進##################
程式還有很多缺陷,希望大家能幫助改進
###################參考以及鳴謝#################
Neeao'ASP SQL通用防注入程式V3.0
部分程式碼參考自Discuz!
*/
error_reporting(0);
define('MAGIC_QUOTES_$PC); jection="'|;|and|(|)|exec|insert |select|delete|update|count|*|%|chr|mid|master|truncate|or|char|declare";
$menzhi_injection = explode("|",$menzhi_injection); , '_POST', '_COOKIE','_REQUEST') as $_request) {
foreach($$_request as $_key => $_value) {
// value = strlower($_value
// value = strlower($_value } != '_' && $$_key = daddslashes($_value);
foreach($menzhi_injection as $kill_key => $kill_value) {
;
unset($_value);
exit();
}
}
//echom " }
function daddslashes($string) {
if(!MAGIC_QUOTES_GPC) {
if( is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = daddslashes($val); 〠 }〠〠〠〠〠〠〣〜〠〠〣〠〣〠〠〣〜〠〠〠〣 〜〠〠〣〠〣〣 〜〠〠〠〠〠〣 〠〣 〜〠〠〠〠〣〣〣 〜〠〣)$. string) ;
}
}
$string = preg_replace('/&((#(d{3,5}|x[a-fA-F0-9]{4}));)/', '&\1' ,str_replace(array('&', '"', ''), array('&', '"', ''), $string));
return $string ;
}
?>
使用說明
在您的頁面頂部添加:「require(“menzhi_injection.php”);” ,即可實現通用跨站,"require(“menzhi_injection.php”);” ,即可實現通用跨站,注入通用跨站。呼叫本程序,我們使用require() 而不使用include() ,因為require()呼叫檔案如果出錯,將終止程序運行,include()並不理會。且require()呼叫檔案時,程式一運行,會先呼叫外本檔案。而inculde()則是運行到該行時才開始執行。基於函數特性,我們選擇require()。 您還可以根據實際需要自行增加或刪除$menzhi_injection變數中的過濾字符,來達到更好的防禦效果。 再者您可以自行修改程式碼,或許會有意外收穫。普通注射都可以防禦,以下測試僅供調侃,以下是對一句話木馬的測試效果:
嘿嘿,動心了就在您的頁面頂部調用吧。記住是“require(“menzhi_injection.php”);”哦。這只是提起大家興趣的噱頭,請自行測試吧。
缺陷以及待改進
由於此程序只是外部調用,只是處理了外部提交的變量,並沒有對您的應用程序作系統分析,所以存在很多局限性,請謹慎使用。 對於使用GBK編碼的程序,還存在雙位元組編碼漏洞風險,本程序雖然可以處理該漏洞。但遏止這些漏洞,還是需要從根源做起。需要處理資料庫連接文件,我們可以新增 character_set_client=binary 。 Discuz!7.0的資料庫連接類別db_mysql.class.php寫的就非常不錯,大家可以參考借鏡。當然這些並不是這個小程式所能涉及的範疇。
且此程式並沒有過濾 $_SERVER $_ENV $_FILES系統變數。例如對於$_SERVER['HTTP_X_FORWARDED_FOR']系統取得IP時,駭客可以透過劫持修改HTTP原始請求包來變更其值,而本程式是可以處理這些漏洞。但是身為程式設計師我們需要的是從根源就對外部變數處理,防患於未然,未雨綢繆吧。
程序很潦草,歡迎大家測試使用,有什麼意見建議可以留言討論。
結束語
最後祝大家學習有成,工作順利,想要獲取更多的相關文章請關注PHP中文網(www.php.cn)!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如果您在Windows11中使用照片應用程式進行影像編輯時遇到無法儲存變更的錯誤,本文將為您提供解決方案。無法儲存變更。保存時發生錯誤。請稍後再試。通常會出現這種問題的原因包括權限設定不正確、檔案損壞或系統故障。因此,我們經過深入研究,整理出一些最有效的故障排除步驟,以幫助您解決此問題,並確保您可以繼續在Windows11裝置上無縫使用MicrosoftPhotos應用程式。修復Windows11中無法保存更改照片應用程式的錯誤許多用戶在不同的論壇上一直在談論MicrosoftPhotos應用程式錯

iPhone上的無邊記是什麼?與iOS17日記應用程式一樣,無邊記是一款具有大量創意潛力的生產力應用程式。這是一個將想法變為現實的好地方。您可以安排專案、集思廣益或建立情緒板,這樣您就不會沒有空間來表達自己的想法。該應用程式可讓您在無限畫布上的任何位置添加照片、影片、音訊、文件、PDF、網頁連結、貼紙等。 「無邊記」中的許多工具(如畫筆、形狀等)對於使用iWork應用程式(如Keynote講演或備忘錄)的任何人都很熟悉。與同事、隊友和小組專案成員進行即時協作也很容易,因為Freeform允許透過消

在Windows系統中,照片應用程式是一個方便的方式來檢視和管理照片和影片。透過這個應用程序,用戶可以輕鬆存取他們的多媒體文件,而無需安裝額外的軟體。然而,有時用戶可能會碰到一些問題,例如在使用照片應用程式時遇到「無法開啟此文件,因為不支援該格式」的錯誤提示,或在嘗試開啟照片或影片時出現文件損壞的問題。這種情況可能會讓使用者感到困惑和不便,需要進行一些調查和修復來解決這些問題。當用戶嘗試在Photos應用程式上開啟照片或影片時,會看到以下錯誤。抱歉,照片無法開啟此文件,因為目前不支援該格式,或該文件

AppleVisionPro頭戴式裝置本身與電腦不相容,因此您必須將其設定為連接到Windows電腦。自推出以來,AppleVisionPro一直備受追捧,擁有其尖端功能和廣泛的可操作性,很容易理解原因。雖然您可以對其進行一些調整以適應PC,並且其功能在很大程度上取決於AppleOS,因此其功能將受到限制。如何將AppleVisionPro連接到我的電腦? 1.驗證系統要求你需要最新版本的Windows11(不支援自訂電腦和Surface設備)支援64位元2GHZ或更快的快速處理器高效能GPU,最

當小夥伴的電腦缺少一定的檔案之後就會出現應用程式無法正常啟動0xc000012d的情況,其實只要重新下載檔案並安裝就可以很好的解決了喲。應用程式無法正常啟動0xc000012d:1、首先使用者需要下載「.netframework」。 2、然後找到下載地址並將其下載到自己的電腦。 3、然後在桌面雙擊開始運作。 4.安裝完成之後傳回先前錯誤的程式位置,再次開啟程式即可。

從「訪問」查看macOS剪貼簿歷史記錄當您在Mac上複製任何內容(文本,圖像,文件,URL等)時,它會進入「剪貼簿」。以下是查看Mac上上次複製的內容的方法。轉到Finder,然後點擊選單列中的“編輯”點擊“顯示剪貼簿”這將打開一個窗口,顯示macOS剪貼簿的內容。在Mac中取得包含多個項目的剪貼簿歷史記錄當然,本機Mac剪貼簿歷史記錄並不是您可以擁有的最通用的工具。它只顯示您複製的最後內容,因此,如果您希望一次複製多個內容,然後將它們全部貼上在一起,那麼您根本無法做到這一點。但是,如果您正在尋找

MicrosoftPaint在Windows11/10中不起作用嗎?嗯,這似乎是一個常見的問題,我們有一些很好的解決方案來解決這個問題。用戶一直抱怨說,當試圖使用MSPaint時,無法工作或打開。應用程式中的捲軸不起作用,貼上圖示沒有顯示,崩潰,等等。幸運的是,我們收集了一些最有效的故障排除方法來幫助您解決MicrosoftPaint應用程式的問題。為什麼MicrosoftPaint不起作用? MSPaint無法在Windows11/10PC上運行的一些可能原因如下:安全標識符已損壞。掛起的系統

許多用戶一直在抱怨,每次嘗試使用MicrosoftTeams登入時都會遇到錯誤代碼caa90019。儘管這是一款方便的溝通應用程序,但這種錯誤卻很普遍。修正MicrosoftTeams錯誤:caa90019在這種情況下,系統顯示的錯誤訊息為:「抱歉,我們目前遇到問題。」我們已準備好終極解決方案清單,可協助您解決MicrosoftTeams錯誤caa90019。初步步驟以管理員身分執行清除MicrosoftTeams應用程式快取刪除settings.json檔案從憑證管理員中清除Microso
