我正在建设我的第一个网站。这是一个在线房地产中介机构。用户可以创建自己的个人资料,然后插入广告和上传图片。
有人告诉我,我应该检测多次日志记录尝试,以防止Brute攻击。通过下面的代码,我可以检测到IP:
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{ $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];} else
{ $ip=$_SERVER['REMOTE_ADDR'];} 系统在一定的延迟内对未完成的日志记录尝试进行计数,并在DB中保存禁止列表。效果很好..。至少当我亲自测试的时候!
然后,当我被告知‘通过假IP的盗版',我得到的印象,我的保护系统上面提到的是无效的。
有:
1)盗版软件,包括可以隐藏其真实IP的代理。
2)网络上的代理也可以隐藏真实的IP。
1和2之间有什么区别?
我想知道如何使用代理,以及它们能在非法行为方面做些什么
非常感谢。
发布于 2012-10-30 09:24:30
代理是一种可以屏蔽您的ip的服务器。它将发送您的请求,就好像它是它的,然后发送回您得到的响应。
有些人能随意改变吗?是叶?
不,他们不能随便改变他们的ip。但他们可以掩盖它。
中国或俄罗斯的某个人能模拟西欧或美国的知识产权吗?
是
我能做比我所做的更多的事情来发现任何可疑的活动吗?
如果您检测到某些用户名多次使用蛮力技术登录错误的密码,则可以使用sleep函数减慢他的速度。这种技术,你不会切断用户使用代理,没有坏的意图,你将减缓蛮力黑客。
if($wrongAttempts > 5) sleep(3000);
if($password == $_GET[pass])
{
// ...
}您也可以开始包括captcha图像,以提高安全性或阻塞帐户一段时间。
发布于 2012-10-30 09:07:41
任何人都可以改变ip,代理,vpn.
我使用这个函数来检测真正的IP地址,如果它是有效的:
function getrealip() {
if (getenv('HTTP_CLIENT_IP') && long2ip(ip2long(getenv('HTTP_CLIENT_IP')))==getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP')))
return getenv('HTTP_CLIENT_IP');
if (getenv('HTTP_X_FORWARDED_FOR') && long2ip(ip2long(getenv('HTTP_X_FORWARDED_FOR')))==getenv('HTTP_X_FORWARDED_FOR') && validip(getenv('HTTP_X_FORWARDED_FOR')))
return getenv('HTTP_X_FORWARDED_FOR');
if (getenv('HTTP_X_FORWARDED') && long2ip(ip2long(getenv('HTTP_X_FORWARDED')))==getenv('HTTP_X_FORWARDED') && validip(getenv('HTTP_X_FORWARDED')))
return getenv('HTTP_X_FORWARDED');
if (getenv('HTTP_FORWARDED_FOR') && long2ip(ip2long(getenv('HTTP_FORWARDED_FOR')))==getenv('HTTP_FORWARDED_FOR') && validip(getenv('HTTP_FORWARDED_FOR')))
return getenv('HTTP_FORWARDED_FOR');
if (getenv('HTTP_FORWARDED') && long2ip(ip2long(getenv('HTTP_FORWARDED')))==getenv('HTTP_FORWARDED') && validip(getenv('HTTP_FORWARDED')))
return getenv('HTTP_FORWARDED');
$ip = htmlspecialchars($_SERVER['REMOTE_ADDR']);
/* Added support for IPv6 connections. otherwise ip returns null */
if (strpos($ip, '::') === 0) {
$ip = substr($ip, strrpos($ip, ':')+1);
}
return long2ip(ip2long($ip));
}关于X-转发的更多信息
发布于 2012-10-30 09:21:11
正如大根所说,IP地址是识别用户的一种很弱的方式,黑客几乎肯定不会使用他们自己的IP地址,而是一台被盗的机器或僵尸网络;另一方面,许多企业用户似乎都来自同一个IP地址,如果有人忘记了他们的密码,那么您很容易就会阻止每一个用户离开该大楼/公司。
对暴力攻击的第一个防御是有一个强大的密码策略;通常,这被假定为至少7个字符,至少有一个数字和一个标点符号。这经常使用户感到烦恼,并使他们讨厌您的网站。
下一个防御措施--如果你认为你真的有危险--是CAPTCHA;这会让用户更讨厌你。
底线是:如果你正在建立你的第一个网站,我会看一个现成的框架,而不是自己发明一切。考虑一下梨:8月。
https://stackoverflow.com/questions/13135568
复制相似问题