如何避免有人拿取我的数据库?

时间:2014-12-25 07:33:54

标签: php video fetch

我有视频网站,我担心如果有人编写一个脚本来获取我的所有数据库并使用它,因为我使用地址中的视频ID作为查询字符串来说出每个必须显示视频的页面。

示例:

http://example.com/video/215/videotitle

215是我的视频ID,videotitle是我视频的标题,我希望有像youtube这样的内容:

www.youtube.com/watch?v=__zj6ibrq04

我该怎么做? 我应该提一下,我使用mod_rewrite来获取这样的地址,所以我绝对担心有人拿到我的数据库,因为他们可以知道视频ID。

这很糟糕,因为id是我数据库中的自动增量主键! 有什么建议吗?

1 个答案:

答案 0 :(得分:2)

如果您的所有网页都是公开,即任何人都可以随时访问任何网站,那么您只能针对机器人自动抓取您的网站做一件事:检测抓取行为扼杀它。这意味着您需要按IP地址和/或其他特征跟踪每个访问者,并在他们开始在特定时间窗口内请求过多页面时开始拒绝他们访问。不,这不是一件容易的事情。

在这种情况下,您的网址看起来并不重要;您可能认为YouTube的网址是“不可取的”,但(大多数)YouTube的视频完全是公开的,可以通过浏览YouTube的首页来发现。没有必要猜测网址,这是一个无关紧要的细节。即使它们不是,您也可以开始尝试__aaaaaaaa通过__9999999的每个网址。它需要一段时间,但它是可能的。