在 PHP 中,有幾種方法可以用于參數過濾和轉義:
filter_var()
函數進行參數過濾:filter_var()
函數可以對變量進行過濾,例如過濾非法字符、去除空格等。這是一個非常有用的函數,可以用于防止跨站腳本(XSS)攻擊。
示例代碼:
$input = "Hello, World!<script>alert('XSS')</script>";
$filtered_input = filter_var($input, FILTER_SANITIZE_STRING);
echo $filtered_input; // 輸出: Hello, World! alert('XSS')
htmlspecialchars()
函數進行參數轉義:htmlspecialchars()
函數可以將特殊字符轉換為 HTML 實體,例如將 <
轉換為 <
,從而避免解析為 HTML 標簽。這是一個非常有用的函數,可以用于防止跨站腳本(XSS)攻擊。
示例代碼:
$input = "Hello, World!<script>alert('XSS')</script>";
$escaped_input = htmlspecialchars($input);
echo $escaped_input; // 輸出: Hello, World! <script>alert('XSS')</script>
addslashes()
函數進行參數轉義:addslashes()
函數可以在預定義字符之前添加反斜線,例如單引號(')、雙引號(")、反斜線(\)和 NULL。這是一個非常有用的函數,可以用于防止 SQL 注入攻擊。
示例代碼:
$input = "Hello, World! ' OR 1=1";
$escaped_input = addslashes($input);
echo $escaped_input; // 輸出: Hello, World! \' OR 1=1
preg_replace()
函數進行參數過濾:preg_replace()
函數可以使用正則表達式替換字符串中的匹配項。這是一個非常有用的函數,可以用于過濾非法字符或限制輸入內容。
示例代碼:
$input = "Hello, World! 123";
$filtered_input = preg_replace("/[^a-zA-Z ]/", "", $input);
echo $filtered_input; // 輸出: Hello World
請根據實際需求選擇合適的方法進行參數過濾和轉義。