1

简要想法:我正在构建脚本,通过将它们锁定在单个域上来保护我的网页设计工作。如果网站上传到不同的域,它将重定向到我的网站。意味着它不允许从不同的域加载实际网站,除非我指定它们。

我的工作脚本:

-- DECODED SCRIPT --

[]['constructor']['constructor'](self['unescape']('if(~location.protocol.indexOf('http:')&&~location.host.indexOf('isupportu.in')){}else(location.href='http://iamwebdeveloper.in')'))()

在上面的代码中,我允许我的工作仅使用 http 协议加载到“www.abc.com”上。但是,如果我们加载没有 www 即“abc.com”的网站,它将无法工作。

www.abc.com --> Website load

abc.com --> www.iamwebdeveloper.in

xyz.com --> www.iamwebdeveloper.in

www.xyz.com --> www.iamwebdeveloper.in

我决定使用.htaccess/web.config文件来强制重定向没有 www 的域。请求 www.abc.com [运行良好]

但现在我想升级这个脚本,我需要你的帮助:

  • 不希望依赖 .htaccess / web.config 文件来重定向非 www。要求。
  • 万维网。并且非 www 请求应该接受,但不允许子域。例如 subdomain.abc.com 是不允许的。
  • 我想在脚本中为他们的单个网站有多个域的大客户添加多个域作为插件域。我想在上面的脚本中添加更多域。

有人可以帮我验证这个脚本是否符合我的上述逻辑吗?

[]["constructor"]["constructor"]
(
    self["unescape"]
    ("<!-- I WILL USE THIS CODE AFTER CONVERTING TO ESCAPE TEXT AND IGNORE THIS COMMENT -->
        if (location.protocol.indexOf("http:") && ( (location.host.indexOf("isupportu.in")) || (location.host.indexOf("paytronicindia.com")) || (location.host.indexOf("paytronicworldwide.com")) || (location.host.indexOf("paytronicnetwork.com")) )
        ){}else(location.href='http://iamwebdeveloper.in')
    ")
)
()
4

1 回答 1

1

看起来您的真正问题类似于“如何在 JavaScript 中检查当前页面的主机名是否是特定域列表之一,带或不带www.前缀?

有很多方法可以做到这一点,但一种相当简单的方法是将正则表达式与匹配location.hostname

var re = /^(www\.)?((site1|site2|site3)\.in|(site4|site5)\.com)$/;
if ( !re.test( location.hostname ) ) {
    location.href = 'http://yourwebsite.in';
}

混淆是一项练习。

于 2013-04-13T11:11:20.200 回答