网站添加证书后登录后台提示“非法外部提交被禁止”解决办法

HB 网络 2020-11-22

网站在未添加证书前用http访问时前台后一切正常,添加证书开启https访问后,网站前台访问正常,但网站后台在录时会报错“非法外部提交被禁止”。
原因:个别cms系统函数判断出错,在cms程序文件inc/AspCms_CommonFun.asp文件中写了判断逻辑,如果判断为“外部提交”则禁止登陆后台。具体的判断逻辑可能像下面一样:

Function isOutSubmit()
    dim server1, server2
    server1=getRefer
    server2=getServername
    if Mid(server1, 8, len(server2)) <> server2 then
        isOutSubmit=true
    else
        isOutSubmit=false
    end if
End Function

server1获取当前url,server2获取域名。旨在判断当前url和网站域名是否匹配。
这种判断机制在http://访问时是可用的,因为第八个字符开始就是域名。但如果加了证书https://就会多一个字符,导致判断始终是不匹配的。

解决办法:
找到inc/AspCms_CommonFun.asp文件中的isOutSubmit()函数。
修改该函数,增加对HTTPS的判断

Function isOutSubmit()
    dim server1, server2, num
    server1=getRefer
    server2=getServername
    if Left(server1,5)="https" then
        num=9
    else
        num=8
    end if
    if Mid(server1, num, len(server2)) <> server2 then
        isOutSubmit=true
    else
        isOutSubmit=false
    end if
End Function
PREV
卸载V2ray
NEXT
nginx 404/403页面重定向到首页或其它指定页面