我正在做一个项目,我的很多变量需要包含特殊字符,如{}[].'"!?在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