Php filter_var是否保证$_服务器[";QUERY_STRING";]将受到XSS注入的保护?

Php filter_var是否保证$_服务器[";QUERY_STRING";]将受到XSS注入的保护?,php,xss,Php,Xss,这是我的代码,它开始初始化我的脚本,我担心如果我选择继续当前的脚本实现,我可能没有足够的保护来防止注入 我已经读过,变量过滤可以防止这种情况发生,但我也看到过一些例子,在这些例子中,如果使用查询字符串,可以忽略变量过滤,并且可以在URL中使用语法来利用脚本。为了清理sql注入字符串,必须对其特殊字符进行转义 使用mysqli\u real\u escape\u string()或更基本的addslashes() 要针对XSS清理字符串,请使用htmlentities() 虽然您不必对密码进行清理

这是我的代码,它开始初始化我的脚本,我担心如果我选择继续当前的脚本实现,我可能没有足够的保护来防止注入


我已经读过,变量过滤可以防止这种情况发生,但我也看到过一些例子,在这些例子中,如果使用查询字符串,可以忽略变量过滤,并且可以在URL中使用语法来利用脚本。

为了清理sql注入字符串,必须对其特殊字符进行转义

使用
mysqli\u real\u escape\u string()
或更基本的
addslashes()

要针对XSS清理字符串,请使用
htmlentities()

虽然您不必对密码进行清理,但只需对数据库密码进行哈希处理,以相同的方式对其进行哈希处理,然后进行比较即可。
您不应该显示此客户端,因此无需针对XSS对其进行清理。

是否有任何方法可以允许用户从URL中提取字符串并防止使用该字符串进行注入?因为后来在另一个节略脚本中,我用同样的方法写入数据库。
$PokemonConnection
lol,
试试{}gottacatchemall{}
那么,从URL中提取14位随机键这样简单的东西,并使用它进行查询比较,如果执行上述功能是安全的,会受到保护吗?因为,稍后在另一个脚本中,我实际上将该值写入MySQL数据库中的MEDIUMTEXT列值。
############################################
## Connection Creation for Both Databases ##
############################################

//Create Connection for Pokemon Test Database
$PokemonConnection=mysqli_connect("URL","username","password","database");

//Check Pokemon Test Database Connection for Errors
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

//Create Connection for Xenforo Forum Database
$XenConnection=mysqli_connect("URL","username","password","database");

//Check Xenforo Forum Database Connection for Errors
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

############################################
###Password Protection for Initialization###
############################################

//Sanitize Password Passed From xenForo and Redirect If Invalid ID

$Password = filter_var($_SERVER["QUERY_STRING"], FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_EMAIL);

if($Password != 'Password')
{
    header("Location: http://www.url.com/error.html");
    echo 'Invalid String Length';
    exit;
}