:::

6-7 讀出資料的安全性過濾

  1. 目的:當初存入時會希望完整存入,固有可能會存入一些危險語法(如果有的話),因此,從資料庫讀出資料時必須過濾一些可能會危害網站的語法。
  2. 一樣要先啟用文字過濾器:
    $myts = MyTextSanitizer::getInstance();
  3. 根據資料量分為兩類,一種是大量文字類(例如textarea大量文字框或CKEditor編輯器的欄位),另一種則是一般資料,如姓名、數字...等。
  4. 呈現大量文字:
    $myts->displayTarea($text, $html=0, $smiley=1, $xcode=1, $image=1, $br=1);
    • (1)  「$text」就是要被處理之後呈現的文字。
    • (2)  「$html」是否允許使用HTML語法,用所見即所得編輯器製作出來的請填1。
    • (3)  「$smiley」是否轉換表情圖,預設為1,會將:) 這類的符號轉換為圖片。
    • (4)  「$xcode」是否使用BBCode,如:[color=red]文字[/color]。
    • (5)  「$image」是否允許在文字中使用圖片。若為0,圖片會以連結來顯示。
    • (6)  「$br」是否要將「\n」換行符轉換為<br>,用所見即所得編輯器者請設為0
  5. 呈現一般文字:
    $myts->htmlSpecialChars($text, $quote_style=ENT_QUOTES, $charset= null, $double_encode=true);
    • (1)  「$text」就是要被處理之後呈現的文字。
    • (2)  「$quote_style」要處理的引號模式,「ENT_COMPAT」僅處理雙引號;「ENT_QUOTES」處理雙引號和單引號(預設);「ENT_NOQUOTES」不對任何引號進行處理。
    • (3)  「$charset」轉換的預設編碼,通常使用預設值即可。
    • (4)   「$double_encode」只有PHP 5.2.3之後才有效。若設為false,則不對現有的HTML實體做編碼的動作。

:::

書籍目錄

展開 | 闔起

https%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D885

計數器

今天: 2517251725172517
昨天: 1988198819881988
總計: 7389408738940873894087389408738940873894087389408