javascript代码中的隐藏URL(由PHP生成的URL)

时间:2017-07-29 13:07:47

标签: javascript php url

我正在寻找以下解决方案:

我有一段JS代码,它执行重定向到使用PHP构造的URL,并且只有当用户按下确认对话框上的按钮时才会进行重定向。

代码如下:

function one() {
    window.location.replace("<?php 

if($new_redir == "1")  {

echo "$new_second_redirect_URL/?token=$hash";

}

else  {

echo "$second_redirect_URL/?token=$hash";

}

?>");
}

它完美无缺。我想要做的是隐藏用户打开页面时源代码中显示的URL。

最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

说实话,你过分考虑了这一点。

如果他们想要避开确认屏幕并从来源获取网址,那么你可以做的并不多。

最好的确可能是在确认时执行AJAX请求并从响应中获取基于CSRF令牌的URL并使用它,但这也可能最终成为过度杀伤。

您还可以将其设置为具有一些隐藏字段的实际<form></form>表单(再次,例如CSRF令牌),并执行帖子验证onclick。如果成功 - 重定向它们。

更新:

使用robots.txt停止机器人 使用JS构建QS以阻止大多数机器人,例如:

var csrftoken='XJIWHEOU324uipHFOFUHR'; 
var url="http://url.com/page.php?token="; 
url=url+csrftoken;

你还能做什么,实际上就像我们一样,虽然对你的用例来说可能太多了。 将每个页面加载记录到数据库中,并在确认后检查他们是否是第一次访问该页面的访问者。

AJAX调用(jQuery示例):

$.post( "url_to_backend_page_to_get_url", {hasSubmittedForm:"true"}, function( data ) {
 window.location.href = data;
});