gpt4 book ai didi

php - php 中的安全首选项、php 函数来清理输入

转载 作者:行者123 更新时间:2023-11-29 09:03:21 28 4
gpt4 key购买 nike

我有以下函数可以清理用户或网址的输入:

   function SanitizeString($var)
{
$var=stripslashes($var);
$var=htmlentities($var, ENT_QUOTES, 'UTF-8');
$var=strip_tags($var);
return $var;
}

我不知道除了这个php函数之外是否还需要使用该函数:

mysql_real_escape_string()..

我也不知道我是否采取了所有预防措施来清理该输入

我也有剥离标签的问题..因为我使用的是tiny_MCE..并且不剥离它们很重要..

在将 html 字符送入数据库之前,如何将其状态作为 html 字符返回?

最佳答案

无论如何,先验地清理输入都是错误的。剥离标签与数据库有什么关系?从什么时候开始恶意脚本在数据库中运行?过度谨慎是一件好事,除非你这样做时没有逻辑。

仅根据“可疑”内容需要去往的位置进行清理。

数据库?然后对数据库进行转义,避免SQL注入(inject)。使用 mysql_real_escape_string() 或参数化查询,然后就可以了。

HTML 页面?清理你的 html 以避免 XSS 和其他讨厌的事情。使用 htmlentities() 或其他更复杂的解决方案,但请在输出之前执行此操作。

如果你在数据库中保存一个 html 页面,然后去掉所有标签(顺便说一句,strip_tags() 做得很糟糕,在 htmlentities() 之后调用它不是最好的事情)怎么办?如果您稍后需要返回 html 该怎么办?试想一下,使用<script>对数据库有什么危害?标签或恶意软件的链接?难道它们只有在打印在页面上时才有害吗?

要解码 htmlentities() 形式,只需使用.. html_entity_decode()

关于php - php 中的安全首选项、php 函数来清理输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7876129/

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