在整个文档中快速剥离标签(_T)



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

我们的一些查询如下:

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

而其他看起来像:

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

PHP插件是很好的,我们使用带有IIS的WindowsServer2008R2SP1。

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

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);

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

最新更新