[英]php htmlspecialchars
我應該使用哪種類型的htmlspecialchars輸入? 還是應該始終使用它來清理輸入數據? 還是有更好的“數據清理”功能? 假設這些值將存儲在數據庫中
例:
$userdata = array(
'username' => $_POST['username'],
'email' => $_POST['email'],
'password' => $_POST['password']
);
// register function defined in a class user accepts array as parameter
// register function hashes password before storage
$this->user->register($userdata);
我應該對這些數據應用htmlspecialchars嗎?
顧名思義,當在HTML輸出中輸出字符串時,將調用htmlspecialchars
。 例如:
<input type="text" name="username" value="<?= htmlspecialchars($user->name) ?>" />
在其中調用該代碼可確保將引號,尖括號等正確地編碼為其相應的實體"
, <
, &
等
您不應在數據庫數據上使用htmlspecialchars
。 在輸出時(而不是在存儲時)轉義文本。
我將大部分時間使用htmlentities()
。
通常在顯示數據時將它們應用於數據。
例如
您有$str = '<iframe src="http://someurl..." />';
如果在輸出時使用htmlentities,則<和>將轉換為html實體-&lt;。 和&gt;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.