是否使用JavaScript/其他方法阻止对页面的访问? 一些背景
我有一个博客 我还有一个疯狂的前女友 此人一直痴迷于访问我的帖子,鉴于我们关系的性质(或缺乏关系),我觉得这相当令人不安。我的目标是阻止访问她,或任何可能是她/她的朋友/家人的人,而不必更改我已建立的URL 进攻计划 由于我没有在第三方主机上托管我的博客,我几乎无法访问有助于阻止她访问的工具。不过,如果有解决方案需要,我确实拥有主机。我不是专家,据我所知,JavaScript是唯一能让她相信她无法访问我的页面的方法 我已经拼凑了一个脚本,非常感谢您的指导。使用jQuery和jQueryCookie插件,我想出了一些代码来演示我的目标让我们开始吧。是否使用JavaScript/其他方法阻止对页面的访问? 一些背景,javascript,jquery,ip-address,tumblr,privacy,Javascript,Jquery,Ip Address,Tumblr,Privacy,我有一个博客 我还有一个疯狂的前女友 此人一直痴迷于访问我的帖子,鉴于我们关系的性质(或缺乏关系),我觉得这相当令人不安。我的目标是阻止访问她,或任何可能是她/她的朋友/家人的人,而不必更改我已建立的URL 进攻计划 由于我没有在第三方主机上托管我的博客,我几乎无法访问有助于阻止她访问的工具。不过,如果有解决方案需要,我确实拥有主机。我不是专家,据我所知,JavaScript是唯一能让她相信她无法访问我的页面的方法 我已经拼凑了一个脚本,非常感谢您的指导。使用jQuery和jQueryCooki
var ips=“{text:ips}”//tumblr生成的字符串:由空格分隔的IP地址
var towns=“{text:towns}”;//城镇也一样
var iparray=ips.split(“”);
var townarray=towns.split(“”);
$.getJSON(“http://www.geoplugin.net/json.gp?jsoncallback=?",
函数(数据){//JSON请求,返回地理位置数据
对于(i=0;i
已知故障点
- 如果用户禁用了JS,或者正在使用插件过滤JS,则此操作将失败
- 如果用户在移动设备上(使用iPod touch进行测试),这将 失败
- 如果用户正在使用Internet Explorer,则此操作将失败
- 如果用户使用web代理,则此操作将失败李>
这是我在Stack上的第一篇文章,尽管我在创建项目时多次使用这个社区。谢谢你花了一些时间来阅读和考虑我的问题,我期待着得到一些输入。p> 自己主持不会有什么不同。事实上,我很确定你不能,你需要把域名指向他们的服务器 我想说你那里的东西是最好的。就像你提到的,有很多方法可以解决这个问题,但这是客户端脚本的典型情况 除非tumblr为查看您站点的用户的登录设置了一个变量,否则就没有其他事情可做了。即使那样,他们也可以注销
我建议在你的TunBrr设置中阻止他们,考虑密码保护你的博客,或者改变你的URL(你仍然会留下你的追随者)。
你没有列出的三个重要的失败点:
(认为他们不能进入第二页?怎么样?)
- 移动设备。(除非您谈论的是/mobile,在这种情况下,我的不好。)您可以通过将移动主题粘贴到/iphone theme的自定义布局页面来自定义移动设备的主题,也可以通过取消选中此框来完全禁用它:
window.location=”http://tumblr.com/dashboard“
如果美国
var ips = "{text:Ips}"; // String generated by tumblr: IP addresses separated by a space
var towns = "{text:Towns}"; // Same but with towns
var iparray = ips.split(" ");
var townarray = towns.split(" ");
$.getJSON("http://www.geoplugin.net/json.gp?jsoncallback=?",
function(data){ // JSON request that returns geolocation data
for(i = 0; i < townarray.length; i++){
if (data['geoplugin_city'] == townarray[i]) // Test to see if user is accessing from a blacklisted town
{
if ($.cookie('banned_ip_tumblr')) // Looks for evidence of tracking cookie, if found: we stop loading, hide any content that was rendered, and send the user back up to 3 pages.
{
window.stop();
$('#all').hide(); // Div that wraps all content in body
history.go(-3);
history.go(-2);
history.go(-1);
}
else // Sets a cookie destined to be stale. Really stale. Then proceed with hiding posts
{
$.cookie('banned_ip_tumblr', 'true', { expires: 365, path: '/' });
$('#all').hide();
history.go(-3);
history.go(-2);
history.go(-1);
window.stop();
}
}
}
for(i = 0; i < iparray.length; i++){
if (data['geoplugin_request'] == iparray[i]) // Same as above, IP style.
{
if ($.cookie('banned_ip_tumblr'))
{
window.stop();
$('#all').hide();
history.go(-3);
history.go(-2);
history.go(-1);
}
else
{
$.cookie('banned_ip_tumblr', 'true', { expires: 365, path: '/' });
window.stop();
$('#all').hide();
history.go(-3);
history.go(-2);
history.go(-1);
}
}
}
}
);
if ($.cookie('banned_ip_tumblr')) // If the user has been caught but is now connecting from a new host, there is a chance this will catch them
{
window.stop();
$('#all').hide();
history.go(-3);
history.go(-2);
history.go(-1);
}