设想
您是一位摄影师,为客户创建定制项目并将其发布在您网站上( http://we-photography.com/projects )
。
所有项目的主题和内容都不同,因此评级从 到U (G)
不等18 (R)
。
所有项目最初对网站访问者都是隐藏的 - 但对任何拥有任何给定项目正确 URL 的人都是公开的。这允许客户将特定受众引导到展示其照片的页面。
问题
几周前,我随机搜索了我曾经使用过的一个旧用户名,并在我曾经访问过的一个论坛的签名中找到它。
这让我想到:
如果我使用NoFollow
并NoIndex
参与被评为 18 岁以上内容的项目,理论上我应该保护某些受众不访问这些材料。
但是,如果客户在论坛、社交网络或网站上发布其作品的 URL,那么任何搜索的人都可能http://we-photography.com/projects
会找到此链接。
那么,有没有什么解决方案可以防止你的 URL 被列出呢?
一个明显的解决方案是使用像 这样的缩短网站bit.ly
,为每个客户端创建一个链接,但是 - 这并不能保证 URL 的安全,因为其他访问者可以复制完整的 URL 并将其列在任何地方。
或者,我可以为projects
文件夹使用多个名称:projects/
,clients/
:这样干净的内容就放在一个名称下,成人内容则放在另一个名称下。这可能有效,但前提是他们搜索 url 和子文件夹。
要明确的是:
1. 我希望每个项目都向公众开放。但不会在我的主网站页面上列出
2. 我不想注册多个网站来保存特定分级的内容。
有什么解决方案吗?
答案1
您的问题更多的是私人家庭使用问题,而不是企业/专业问题,但您可能有同样的担忧。
一般来说,您使用您的网站来发布您想要披露并被找到的信息。
简单地不要发表东西 你不想在公共场合露面(在您的网站上或者在线上)。
对您的内容添加访问限制,使其仅对授权用户可用(例如用户名/密码保护)。
- 仅在您的内部网上发布内部信息,其主机名不必存在于您的公共 DNS 区域中,然后任何意外在线发布的 URL 将自动对外部用户失败。
跟进您的编辑
你实际上无法避免人们在你的帖子上发布链接。
您可以通过以下方式组合来避免(某些)页面、媒体和其他内容被索引并出现在搜索结果中:
- 在不同的地方发布不同的内容。使用单独的(子)域名(例如
project.example.com
或 )www.example.net
而不是在主站点上使用 URL 路径(例如 )example.com/project
可能会让搜索引擎、内容过滤器和用户更容易识别、过滤或排除特定项目的内容。 - 大多数蜘蛛和网络爬虫都会遵守robots.txt文件位于您的(子)域的根目录中,并且不会包含(在一定限制内)您请求从搜索结果中排除的内容。请参阅https://support.google.com/webmasters/answer/6062608?hl=en
- 您可以添加访问控制,(尝试)识别网络爬虫并完全阻止其访问,并且不应索引任何内容。
- 将元数据添加到您的 html 页面(例如
<meta name="robots" content="noindex,nofollow">
)
答案2
我公司的测试版和实验室网站也遇到了类似的问题。无论我们希望它们仅供内部用户还是选定的外部用户访问,我们都不希望它们被某些 Google 或其他蜘蛛程序编入索引:其中一些页面并不完全安全,将它们暴露给搜索引擎会给坏人带来太多帮助。
我已经实施了简单的防蜘蛛保护以及随机潜伏者,但它本身并不能完全防止蓄意入侵(我用其他工具实现的保护)
只需更改 /etc/apache2/apache.conf 或所需的 /etc/apache2/sites-available/ 文件,以便它们需要身份验证登录名/密码。(也可以使用站点根目录中的 .htaccess 文件来完成,如果正确的选择是允许覆盖在相应的.conf文件中)
典型的实现如下:
<Directory /var/www/html/>
...
#protection IP / password
<RequireAny>
<RequireAll>
AuthUserFile /var/secure/.htaxes
AuthName "Are you a subscriber?"
AuthType Basic
Require valid-user
</RequireAll>
Require ip IP1 IP2
Require ip ::1 127.0.0.1
</RequireAny>
##protection
## Require all granted
</Directory>
其中可选行需要 ip IP1 IP2允许您白名单一些 IP 地址(例如一些内部用户)。
我在文件 /var/secure/.htaxes 中存储了授权的登录名和密码,方法是:密码