防XSS攻擊之特殊字元轉換為html實體

2021-09-25 07:12:34 字數 827 閱讀 2607

什麼是xss攻擊,比如,比如,

我們把**發布在網上,有一些惡意的使用者在提交資料的時候會在表單輸入js,css.a標籤之類的這些html語言,然後這些資料被儲存到資料庫,那麼我們要呼叫這些資料的時候,這些資料被原封不動的被呈現在網頁上,這些資料是可以被html所識別的,屆時我的的頁面就會變得亂七八糟的。

怎麼解決呢,我們只要在這些資料沒有插入資料庫前呼叫php內建函式將這些特殊的字元轉換為html實體。接下來我們來談談php的這幾個內建函式。

*1.htmlentities — 將字元轉換為 html 轉義字元

用法:

htmlentities( string $string[, int $flags = ent_compat | ent_html401[, string $encoding = ini_get("default_charset")[, bool $double_encode = true]]] ) : string
*2.htmlspecialchars — 將特殊字元轉換為 html 實體(這個函式與htmllentities函式的去別是,htmlentities會轉換所有html 實體的字元,而這個函式就只轉換以下特殊字元的html實體)

用法:

htmlspecialchars( string $string[, int $flags = ent_compat | ent_html401[, string $encoding = ini_get("default_charset")[, bool $double_encode = true]]] ) : string

防xss攻擊相關知識

1.什麼是xss攻擊?xss就是跨站指令碼攻擊,會想盡一切方法 將一段指令碼內容放到目標 的目標瀏覽器上解釋執行。它分為兩類 1 非持久型 它是一次性的,僅對當前頁面產生影響 2 持久型,攻擊資料將儲存在服務端,攻擊行為將隨著攻擊資料一直存在。2.簡單模擬攻擊過程 4 後端會從資料庫中取出資料,直接...

bhpyg Thinkphp5 XSS攻擊防禦

跨站指令碼攻擊 cross site scripting 攻擊者往web頁面裡插入惡意script 當使用者瀏覽該頁之時,嵌入其中web裡面的script 會被執行,從而達到惡意攻擊使用者的目的。模擬過程 新增功能中,請求引數值包含script標籤js 新增成功之後,資料表中 訪問新增的這條資料,j...

TP5框架 《防sql注入 防xss攻擊》

中有個配置選項 框架預設沒有設定任何過濾規則,你可以是配置檔案中設定全域性的過濾規則 預設全域性過濾方法 用逗號分隔多個 default filter htmlspecialchars,addslashes,strip tags htmlspecialchars 防xss攻擊,尖括號等轉義過濾 ad...