對整站的a連接進行監控,對匹配規則進行指定頁面的跳轉

項目中有個需求,就是將非本站的連接跳轉到過渡頁(提示即將離開本站的那種頁面)。這個時候想起了騰訊郵箱,不安全連接會有新的頁面提示,以下圖:javascript

本覺得ASP.NET中有全局的方法獲取到點擊或者跳轉的連接,結果也沒找到。Request和Response都取不到的HttpModule,HttpHandle,Global中也同樣,畢竟跳轉以後是到別人的網站上去了不曉得IIS上可否監控的到。最後只能在a標籤上加Onclick了。因爲a標籤的onclick要比href先執行,因此把a標籤統一加上onclick事件,利用return false來控制href的執行。html

var extLinkArr = ["aaa.net", "bbb.net", "ccc.gov.cn", "ddd.com", "qq.com"];//排除包含這些字符的連接
function _openExtLink(a) {
    if (a.href.indexOf("javascript:") >= 0) {
        return false;
    }
    var r = a.href;
    for (var i = 0; i < extLinkArr.length; i++) {
        if (r.indexOf(extLinkArr[i]) > -1) {
            return true;//若是在指定的排除連接中,就執行href;
        }
    }
    window.open("http://abc.com/Outside.html?url=" + encodeURIComponent(r), "_blank");//跳轉到新頁面作題時
    return false;
}
$(function () {
    $("a").click(function () {
        return _openExtLink(this);
    });
});

 代碼僅供參考,若您有更好的方法請在評論中分享。java

 參考http://www.cnblogs.com/goldarch/archive/2010/06/16/1759031.html安全

相關文章
相關標籤/搜索