使用包含特殊字符的变量


Using variables containing special characters

我正在做一个项目,我的很多变量需要包含特殊字符,如{}[].'"!?在SQL、PHP和输出之间来回传递这些变量的最安全的方法是什么?如何防止变量干扰我的代码?即:

<?php
echo $var;
echo '$var';
echo "$var";
?>

最好的方法是在数据提供后立即对其进行URL编码。然后存储它,当你使用它时,urldecode它。

比如

string urlencode ( string $str )

编码和

string urldecode ( string $str )

解码。这将把"特殊"字符更改为安全字符。

在PHP中,变量的名称不能包含特殊字符(除了初始的美元符号$和下划线_)。只要遵循定义PHP字符串的规则,变量的可以包含任何您想要的内容。

变量值不会干扰你的代码。如果您担心它会干扰您的输出HTML,请使用htmlspecialchars作为Rocket Hazmat在评论中建议的。

您可以使用PDO/MYSQL将数据连接到数据库中。

要转换为html实体,可以使用htmlchars()函数

示例:

<?php
${'['*var'} = 1;
echo ${'['*var'};
https://3v4l.org/5Dr93