PHP 提供了一些內置的過濾和轉義函數,可以幫助您應對復雜輸入。這些函數可以防止跨站腳本攻擊(XSS)和其他安全漏洞。以下是一些常用的 PHP 過濾和轉義函數:
htmlspecialchars()
:將特殊字符轉換為 HTML 實體。例如,將 <
轉換為 <
,將 >
轉換為 >
,將 "
轉換為 "
,將 '
轉換為 '
。$input = '<script>alert("XSS")</script>';
$output = htmlspecialchars($input, ENT_QUOTES, 'UTF-8');
echo $output; // 輸出: <script>alert("XSS")</script>
htmlentities()
:與 htmlspecialchars()
類似,但不會將字符轉換為 HTML 實體,而是返回一個包含所有特殊字符的字符串。$input = '<script>alert("XSS")</script>';
$output = htmlentities($input, ENT_QUOTES, 'UTF-8');
echo $output; // 輸出: <script>alert("XSS")</script>
strip_tags()
:刪除字符串中的所有 HTML 標簽。$input = '<p>Hello, <strong>World</strong>!</p>';
$output = strip_tags($input);
echo $output; // 輸出: Hello, World!
preg_replace()
:使用正則表達式替換字符串中的特定內容。例如,刪除所有數字。$input = 'Hello, 123 World!';
$output = preg_replace('/\d+/', '', $input);
echo $output; // 輸出: Hello, World!
這些函數可以幫助您過濾和轉義復雜輸入,但請注意,沒有絕對的安全措施。您應該始終驗證和清理用戶輸入,以確保應用程序的安全性。