我有视频网站,我担心如果有人编写一个脚本来获取我的所有数据库并使用它,因为我使用地址中的视频ID作为查询字符串来说出每个必须显示视频的页面。
示例:
http://example.com/video/215/videotitle
215
是我的视频ID,videotitle
是我视频的标题,我希望有像youtube这样的内容:
www.youtube.com/watch?v=__zj6ibrq04
我该怎么做?
我应该提一下,我使用mod_rewrite
来获取这样的地址,所以我绝对担心有人拿到我的数据库,因为他们可以知道视频ID。
这很糟糕,因为id是我数据库中的自动增量主键! 有什么建议吗?
答案 0 :(得分:2)
如果您的所有网页都是公开,即任何人都可以随时访问任何网站,那么您只能针对机器人自动抓取您的网站做一件事:检测抓取行为扼杀它。这意味着您需要按IP地址和/或其他特征跟踪每个访问者,并在他们开始在特定时间窗口内请求过多页面时开始拒绝他们访问。不,这不是一件容易的事情。
在这种情况下,您的网址看起来并不重要;您可能认为YouTube的网址是“不可取的”,但(大多数)YouTube的视频完全是公开的,可以通过浏览YouTube的首页来发现。没有必要猜测网址,这是一个无关紧要的细节。即使它们不是,您也可以开始尝试__aaaaaaaa
通过__9999999
的每个网址。它需要一段时间,但它是可能的。