2014-09-03 80 views
0

我是一名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>; 
+1

這個問題似乎是題外話。它屬於http://codereview.stackexchange.com/ – Phil 2014-09-03 09:03:49

+1

同意適用於SO。但是,對於首先考慮安全性的人來說,做得很好 - 太多的人不會。 – 2014-09-03 09:04:36

+1

如果你感興趣的話,請點擊這裏閱讀〜https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) – Phil 2014-09-03 09:06:25

回答