如果我自己的IP正在访问该网站,是否有办法解除此代码段的攻击?
$('#preloader').delay(5555).fadeOut(1234,function(){
$(this).remove();
});
像(伪代码): “如果ip不是127.0.0.1,什么都不做。”
(如果更容易,我会接受PHP解决方案。)
谢谢!
答案 0 :(得分: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();
});
<? } ?>
答案 1 :(得分:0)
您可以在PHP中创建此条件以显示此部分代码。
<? if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1'): ?>
$('#preloader').delay(5555).fadeOut(1234,function(){
$(this).remove();
});
<? endif; ?>
答案 2 :(得分: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,只是传递一个用callback =格式化的url? paramtere到$ .getJSON方法,例如:
$.getJSON("http://jsonip.appspot.com?callback=?",
function(data){
alert( "Your ip: " + data.ip);
});
此示例是在Google App Engine上实施的非常简单的JSONP服务,您可以查看更多详细信息here。
检查服务的来源,是一个小的Python脚本,它可以在任何服务器端语言上实现。
如果您不是在寻找跨域解决方案,那么脚本可以进一步简化,因为您不需要回调参数,并返回纯JSON。
运行以上代码段here。