快速遍历整个文档中的strip_tags

时间:2013-12-14 15:31:24

标签: php html strip-tags

我们的网站目前正受到一些脚本的攻击,这些脚本将HTML代码添加到他们的座右铭和其他数据库表中(他们也可以访问),我们希望使用strip_tags来过滤HTML,我们在我们的网站上使用了很多查询,所以我想知道是否有办法将这些规则应用于整个文档。

我们的一些查询如下所示:

<?php echo $users->UserInfo($username, 'motto'); ?>

其他人看起来像:

<div class="title">'.$campaign['caption'].'</div>

PHP的插件会很好,我们将Windows Server 2008 R2 SP1与IIS配合使用。

1 个答案:

答案 0 :(得分:0)

最简单的方法是在实际的数据库抽象对象周围创建一个包装器对象 例如,如果有一个类型为“db”的对象为您提供了诸如“select”和“update”之类的一些信任函数,那么您可以编写一个扩展“db”并覆盖“select函数”的类。它可能看起来像这样(这是一个例子,因为你没有提供关于你的具体实现的足够信息)。

class db2 extends db 
{
    public function select($tableName, $whereClause)
    {
        $result = parent::select($tableName, $whereClause);
        return strip_tags($result); 
    }
}

然后你将替换实例化“db”的对象,而不是实例化“db2”。

$db = new db($connectionParams);

应替换为

$db = new db2($connectionParams);

现在所有现有查询都应使用删除标记的新函数。