我是一名PHP新手。這是一個畫廊代碼的一部分。我最近閱讀了關於SQL注入和跨站點腳本攻擊的問題,我試圖通過html轉義動態生成的數據來避免這種情況。我不確定我是否在這裏朝着正確的方向前進。我創建了一個包含URL參數的數組,然後是用於HTML轉義的函數。你可以評論這段代碼,讓我知道我做錯了嗎?使用HTML轉義編寫代碼以避免跨站點腳本攻擊
$parameters_new = array('name' => $name,'pcaption' => $caption_array[$new]);
function html_escape($input, $encoding)
{
return htmlentities($input, ENT_QUOTES, $encoding);
}
$result_final .= '<div class="limage"><table><tr><td><table class="image"><tr><td><a href="' . html_escape('gallery.php?' . http_build_query($parameters_new), 'UTF-8') . '">
<img src="'. $img_dir . '/' .$photo_filename.'" alt=" ' . $photo_keywords . '"></a>
<div class="caption">'.$photo_caption.'</div><div class="excerpt">'.$photo_description.'</div></td></tr></table></td></tr></table><div class="underline"></div>;
這個問題似乎是題外話。它屬於http://codereview.stackexchange.com/ – Phil 2014-09-03 09:03:49
同意適用於SO。但是,對於首先考慮安全性的人來說,做得很好 - 太多的人不會。 – 2014-09-03 09:04:36
如果你感興趣的話,請點擊這裏閱讀〜https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) – Phil 2014-09-03 09:06:25