gpt4 book ai didi

php - TextArea 数据在存储到 MySQL 之前进行清理

转载 作者:行者123 更新时间:2023-11-29 09:12:57 25 4
gpt4 key购买 nike

这是问题场景。我有一个文本框,用户可以在其中输入评论。但是,如果它们包含 HTML 标签或 <A HREF='javascript:window.alert("Example of a link that displays an alert box");'> link </A> ,当注释从MySQL数据库输出到页面上时,它们才真正执行。我正在寻找一种方法来防止这种情况发生,并且只允许使用一些 HTML 标签(如粗体、斜体、下划线)。

在将评论从文本区域发送到存储在 mysql 数据库之前,我在评论中使用此函数:

function sanitize($data)
{
// remove whitespaces (not a must though)
$data = trim($data);

// apply stripslashes if magic_quotes_gpc is enabled
if(get_magic_quotes_gpc())
{
$data = stripslashes($data);
}

// a mySQL connection is required before using this function
$data = mysql_real_escape_string($data);

return $data;
}

最佳答案

嗯,没有答案如何让某些标签保持完整。

首先想到的strip_tags()函数一点也不安全,它会允许危险的JS属性。

因此,您必须使用一些实用程序,例如 HTML Purifier,或某些正则表达式,它们仅允许某些标记并消除所有其他标记或用于 BBCode。

关于php - TextArea 数据在存储到 MySQL 之前进行清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5027985/

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