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


How to avoid someone to fetch my database?

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

例:

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

215是我的视频ID,videotitle是我的视频标题,我想拥有类似YouTube的东西:

www.youtube.com/watch?v=__zj6ibrq04

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

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

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

在这种情况下,你的URL看起来像什么并不重要;你可能认为YouTube的URL是"不可猜测的",但(大多数)YouTube的视频是完全公开的,可以通过浏览YouTube的首页来发现。没有必要猜测URL,这是一个无关紧要的细节。即使不是,您也可以简单地开始尝试__aaaaaaaa每个 URL 从 __9999999 .这需要一段时间,但这是可能的。