ecshop文章xss跨站脚本攻击漏洞修复方法

ECSHOP的文章、留言等页面,其实都存在XSS跨站脚本攻击漏洞,以下提供文章页面修复解决方法:
打开/includes/lib_article.php文件,最底部 ?> 的上面加入以下代码
/* 代码过滤器 ECShop.Vc */
function strFilter($str)
{
    $str = preg_replace('/<\!--.*?-->/si', '', $str);
    $str = preg_replace('/<(\!.*?)>/si', '', $str);
    $str = preg_replace('/<(\/?html.*?)>/si', '', $str);
    $str = preg_replace('/<(\/?head.*?)>/si', '', $str);
    $str = preg_replace('/<(\/?meta.*?)>/si', '', $str);
    $str = preg_replace('/<(\/?body.*?)>/si', '', $str);
    $str = preg_replace('/<(\/?link.*?)>/si', '', $str);
    $str = preg_replace('/<(\/?form.*?)>/si', '', $str);
    $str = preg_replace('/cookie/si', '', $str);
    $str = preg_replace("/'/si", "", $str);
    $str = str_replace('/\/s', "", $str);
    $str = str_replace('select', '', $str);
    $str = str_replace('create', '', $str);
    $str = str_replace('delete', '', $str);
    $str = str_replace('insert', '', $str);
    $str = str_replace('<', '', $str);
    $str = str_replace('>', '', $str);
    $str = str_replace('~', '', $str);
    $str = str_replace('!', '', $str);
    $str = str_replace('!', '', $str);
    $str = str_replace('@', '', $str);
    $str = str_replace('#', '', $str);
    $str = str_replace('$', '', $str);
    $str = str_replace('¥', '', $str);
    $str = str_replace('%', '', $str);
    $str = str_replace('^', '', $str);
    $str = str_replace('……', '', $str);
    $str = str_replace('*', '', $str);
    $str = str_replace('(', '', $str);
    $str = str_replace(')', '', $str);
    $str = str_replace('(', '', $str);
    $str = str_replace(')', '', $str);
    $str = str_replace('——', '', $str);
    $str = str_replace('+', '', $str);
    $str = str_replace('|', '', $str);
    $str = str_replace('"', '', $str);
    $str = str_replace('“', '', $str);
    $str = str_replace('”', '', $str);
    $str = str_replace(',', '', $str);
    $str = str_replace(',', '', $str);
    $str = str_replace('', '', $str);
    $str = str_replace('《', '', $str);
    $str = str_replace('》', '', $str);
    $str = str_replace('。', '', $str);
    $str = str_replace('、', '', $str);
    $str = str_replace('?', '', $str);
    $str = str_replace(';', '', $str);
    return trim($str);
}
在打开article_cat.php文件,搜索如下代码
    /* 获得文章列表 */
    if (isset($_REQUEST['keywords']))
    {
        $keywords = addslashes(htmlspecialchars(urldecode(trim($_REQUEST['keywords']))));
        $pager['search']['keywords'] = $keywords;
        $search_url = substr(strrchr($_POST['cur_url'], '/'), 1);
修改成如下代码
    /* 获得文章列表 ECShop.Vc */
    if (isset($_REQUEST['keywords']))
    {
        $keywords = addslashes(htmlspecialchars(urldecode(trim($_REQUEST['keywords']))));
        $keywords = strFilter($keywords);
        $pager['search']['keywords'] = $keywords; //Add ECShop.Vc
        $search_url = substr(strrchr($_POST['cur_url'], '/'), 1);
        $search_url = strFilter($search_url); //Add ECShop.Vc

本文原创地址:https://www.ecshop.cx/article-384.html
版权所有 © 转载时必须以链接形式注明出处!

觉得本文对您有用,想收藏下来!方法很简单:请点击-〉
我们一直坚持白天工作、晚上熬夜更新资源,付出了巨大的精力和时间,其中的辛酸难以言述。

文章评论

暂时还没有任何用户评论

发表 取消
实时购买动态 ×

雨過、天晴会员 在 2018-12-12 购买了 ecshop个人免签约支付宝即时到帐插件【无需企业申请审核接口支持同步订单付款状态】