相关疑难解决方法(0)

如何防止网站抓取?

我有一个相当大的音乐网站,有一个大型的艺术家数据库.我一直在注意其他音乐网站抓取我们网站的数据(我在这里和那里输入虚拟艺术家名称然后谷歌搜索它们).

如何防止屏幕抓取?它甚至可能吗?

html architecture screen-scraping piracy-prevention

287
推荐指数
16
解决办法
8万
查看次数

什么是最好的分布式蛮力对策?

首先,一点背景:我正在为CodeIgniter实现一个auth + auth系统并不是什么秘密,到目前为止我赢了(可以这么说).但是我遇到了一个非常重要的挑战(大多数auth库完全错过了,但我坚持正确处理它):如何智能地处理大规模,分布式,可变用户名的暴力攻击.

我知道所有常用的技巧:

  1. 限制每个IP /主机的失败尝试次数并拒绝违规者访问(例如Fail2Ban) - 由于僵尸网络变得越来越智能,它们不再起作用
  2. 将上述内容与已知的"坏"IP /主机(例如DenyHosts)的黑名单相结合- 它依赖于僵尸网络下降为#1,它们越来越不会
  3. IP /主机白名单与传统的身份验证相结合(对于动态IP用户而言,在大多数网站上都是无用的)
  4. 在N分钟/小时内设置失败尝试次数的站点范围限制,并在此之后限制(暂停)所有登录尝试,持续数分钟/小时(DoS攻击你的问题变为僵尸网络儿童游戏)
  5. 没有登录/密码选项的所有用户的强制性数字签名(公钥证书)或RSA硬件令牌(毫无疑问是坚如磐石的解决方案,但仅适用于封闭的专用服务)
  6. 强制执行的超强密码方案(例如> 25个带有符号的无意义字符 - 再次对临时用户来说太不切实际)
  7. 最后,CAPTCHA(在大多数情况下都可以工作,但对用户来说很烦人,对于一个坚定的,足智多谋的攻击者几乎无用)

现在,这些只是理论上可行的想法.有很多垃圾想法可以打开网站(比如琐碎的DoS攻击).我想要的是更好的东西.更好的是,我的意思是:

  • 它必须安全(+)抵御DoS和暴力攻击,并且不会引入任何新的漏洞,这些漏洞可能会让稍微狡猾的机器人继续在雷达下运行

  • 它必须是自动化的.如果需要人工操作员验证每次登录或监控可疑活动,那么它无法在真实场景中运行

  • 它必须适用于主流网络使用(即可由非程序员执行的高流失率,高流量和开放式注册)

  • 它不会妨碍用户体验到临时用户会感到烦恼或沮丧(并可能放弃网站)

  • 它不能涉及小猫,除非它们真的是非常安全的小猫

(+)'安全',我的意思是至少和偏执的用户保密密码一样安全

所以 - 让我们听听吧!你会怎么做?你知道我没有提到过的最佳实践(哦,请你说)吗?我承认我对自己有所了解(结合3和4的想法),但我会让真正的专家在让自己尴尬之前说话;-)

security authentication brute-force

149
推荐指数
7
解决办法
2万
查看次数

避免网站数据库"数据抓取"的主要技术

我正在使用PHP和MySQL建立一个站点,它本质上只是现有数据库的Web前端.可以理解的是,我的客户非常希望能够阻止任何人在数据库中复制数据,同时希望所有内容都公开,甚至"查看全部"链接以显示数据库中的每条记录.

虽然我已经采取了一切措施来防止诸如SQL注入攻击之类的攻击,但没有什么可以阻止任何人将所有记录都视为html并运行某种脚本来将这些数据解析回另一个数据库.即使我要删除"查看全部"链接,理论上仍然可以使用自动化过程逐个浏览每个记录并将这些记录编译到新数据库中,从根本上捏取所有信息.

有没有人有任何好的策略来防止甚至只是阻止它们可以分享.

php mysql database

24
推荐指数
6
解决办法
7576
查看次数

什么是好的隐形验证码?

什么是好的隐形验证码?我的网站需要JavaScript,所以任何需要它的东西都可以.

captcha

20
推荐指数
3
解决办法
1万
查看次数

如何保护我网页上某些数据的抓取?

我想只保护每个请求后显示的某些数字.大约有30个这样的数字.我计划在这些数字的位置生成图像,但如果图像没有像验证码那样扭曲,那么脚本是否能够破译数字呢?此外,加载图像对文本的性能影响有多大?

security screen-scraping

1
推荐指数
3
解决办法
1381
查看次数