gpt4 book ai didi

php - 试图阻止文本区域中的项目符号作为特殊字符进入我的数据库

转载 作者:可可西里 更新时间:2023-11-01 08:36:13 25 4
gpt4 key购买 nike

我目前正在使用它,但它似乎不适用于子弹:

function sanitizeMySQL($var){
$var = mysql_real_escape_string($var);
$var = sanitizeString($var);
return $var;
}

function sanitizeString($var)
{
$var = str_replace('•','•', $var);
$var = htmlentities($var);
$var = strip_tags($var);
return $var;
}

这是有人通过文本区域提交项目符号后在我的数据库中显示的项目符号:

编辑:这就是我现在得到的:•

我确实在我的数据库中存储了子弹,所以我知道它允许它们。是否有正确的方法以 latin-1 编码存储子弹?

最佳答案

通过您的表单提交的数据和您的源代码没有相同的编码。因此,源代码中的 字符与实际数据中的字符不匹配。因此,它们不会被替换。统一通用编码。参见 Handling Unicode Front To Back In A Web App .

此外,您的清理策略也很奇怪。我不知道你有什么反对“•”的,这不应该在一般的“ sanitizer ”功能中被取代。此外,您首先是 HTML 转义所有内容,然后 是剥离标签。提示:转义后将不再有任何标签。接下来,在对字符串进行 SQL 转义后,您不应再修改该字符串。参见 The Great Escapism (Or: What You Need To Know To Work With Text Within Text) .

关于php - 试图阻止文本区域中的项目符号作为特殊字符进入我的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11674531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com