我在创建php
网站,其中我有一个document.php
,基本上需要did (document ID)
并显示它。一个例子是mysite.com/document.php?did=1
,它使用诸如SELECT * FROM documents WHERE id=1
之类的查询从数据库中获取文档内容。我知道这种方法(如SQL注入)的安全问题,我都做了验证和转义,但有一个人告诉我的一件事是,创建一个爬行器可以非常简单:在网站上显示文章ID
for(int i = 0; i < 3000; ++i)
DownloadPage("mysite.com/document.php?did="+i);
现在我有2个问题。
- 这是真的是我写的代码还是有另一个解决方案呢?例如,我知道我可以告诉Apache服务器限制一个IP的带宽使用。 (或者可能是你提供的一个更好的选择。)
- 如果这是一个问题,我有一个解决方案在我的脑海。我想我应该添加另一个参数到页面。就像内容的散列一样,将根据数据库检查它是否是正确的URL。
有一件事我看到很多是有时标题的一部分被追加到URL。就像这样: mysite.com/document/1/some_part_of_the_url
但我检查过了,如果我删除标题并转到mysite.com/document/1
它仍然会显示相同的网页。这让我觉得这不是出于安全原因,更像是帮助用户找出他要访问的页面的标题。
如果没有别的,使用URL中的标题将帮助您与SEO。没有人会在Google中搜索“Post#1”:) – jmort253 2012-03-03 10:42:26
是可供所有页面浏览者或仅登录用户使用的文档吗? – 2012-03-03 10:43:53