1

有没有办法让这个片段只有在我自己的 IP 访问该网站时才会触发?

        $('#preloader').delay(5555).fadeOut(1234,function(){  
           $(this).remove();
        });

类似(伪代码):“如果 ip 不是 127.0.0.1,什么也不做。”

(如果这样更容易,我愿意接受 PHP 解决方案。)

谢谢!

4

3 回答 3

3

Javascript 无法获取访问者的 IP,因此服务器端解决方案是唯一可能的解决方案。试试这个:

<?php if ($_SERVER['REMOTE_ADDR'] == '1.1.1.1') { // your IP instead of 1.1.1.1 ?>
    $('#preloader').delay(5555).fadeOut(1234,function(){  
        $(this).remove();
    });
<? } ?>
于 2013-01-03T12:42:43.793 回答
0

您可以在 PHP 中设置此条件以显示或不显示这部分代码。

<? if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1'): ?>
    $('#preloader').delay(5555).fadeOut(1234,function(){  
        $(this).remove();
    });
<? endif; ?>
于 2013-01-03T12:42:50.063 回答
0

您将使用 javascript 和 jquery 获得 clientIP。您可以使用 JSONP 通过服务器端中继它

在谷歌搜索时,在 SO http://stackoverflow.com/questions/102605/can-i-lookup-the-ip-address-of-a-hostname-from-javascript上找到了它

<script type="application/javascript">
    function getip(json){
      alert(json.ip); // alerts the ip address
    }
</script>

<script type="application/javascript" src="http://jsonip.appspot.com/?callback=getip"></script>

此外,jQuery 可以处理 JSONP,只需传递一个带有回调格式的 url=? $.getJSON 方法的参数,例如:

 $.getJSON("http://jsonip.appspot.com?callback=?",
    function(data){
       alert( "Your ip: " + data.ip);
  });

此示例是在 Google App Engine 上实现的一个非常简单的 JSONP 服务,您可以在此处查看更多详细信息。

检查服务的来源,是一个小的 Python 脚本,它可以在任何服务器端语言上实现。

如果您不是在寻找跨域解决方案,则可以进一步简化脚本,因为您不需要回调参数,并且返回纯 JSON。

在这里运行上面的代码片段。

于 2013-01-03T12:43:44.690 回答