PHP使用htmlspecialchars方法實現像ASP的Server.HTMLEncode一樣的效果

編輯:睿兒發表于:2020-09-08 14:26:11 10 次閱讀
原創聲明:本內容(PHP使用htmlspecialchars方法實現像ASP的Server.HTMLEncode一樣的效果)為睿兒網絡原創作品,任何媒體、網站或個人未經本網協議授權不得轉載、鏈接、轉貼或以其他方式復制發布/發表。如需轉載請聯系站長QQ:7280374 請注明申請文章轉載!

在PHP網頁程序實際應用中,為了應對不斷掃描的SQL漏洞掃描工具,我們應該對網頁傳遞的參數進行一系列的處理。

第一步就是將獲取來的參數轉換為HTML實體,這樣可以應對一些在參數中加入<script>或 sql語法重置的語句。

這時候在PHP中我們就需要一個類似于ASP的Server.HTMLEncode一樣的方法。

PHP當然也有類似這樣的方法那就是 htmlspecialchars,而且還提供一個轉回方法 htmlspecialchars_decode()


官方說明:

image.png


從官方描述我們可以發現,它把預定的幾個字符全部轉換成為HTML實體,這幾個字符就是SQL注入語句的命脈,不管怎么變,都需要有這幾個字符。所以我們使用 htmlspecialchars完全可以作為防止SQL注入的第一步。

下面來看一個實例:

echo htmlspecialchars("<script>")

使用 htmlspecialchars 轉換后我們得到的結果如下:

&lt;script&gt;gt;

可以看到 <> 這兩個符號已經被轉義為HTML實體了,這樣最初期的 SQL注入里面的JS代碼就跑不起來了。


當然要防止SQL注入這僅僅是第一步而已,我們還需要對獲取的參數進行多次對比、替換、真實性檢驗等。不同的應用場景有不同的處置方式。以后在使用過程中碰到的話會再更新。

原文地址:http://www.htzgsd.com/library/202009/36.html(張家口導航-睿兒知識庫)

張家口睿兒網絡科技有限公司版權所有
亚洲AV片不卡无码