公司在开发时如何隐藏网站?


9

我是新来的人,也是刚入职的19岁新PHP开发人员,所以我不确定这是如何工作的。许多公司在开发其网站时都会隐藏其网站,以免被索引。从搜索引擎隐藏html5 / css和php / mysql的方法有哪些?如果我没看错,这些是技巧:

  1. 离线开发:使用本地存储呈现html / css;不知道PHP / mysql将如何工作。

  2. 使用.htaccess阻止访问

  3. 使用VPN阻止访问。


1
最好的解决方案是尽可能使测试服务器与生产服务器完全相同。即使在这种情况下,也可能会出现意想不到的惊喜……
Avio 2012年

如果要进行完整的本地php开发,请查看easyphp.org,它是一个简单的安装程序,可以在Windows桌面上安装和配置Apache Web Server,MySQL db和PHP。
艾伦·巴伯

Answers:


20

最佳做法是使本地开发人员计算机上的生产堆栈近似。这通常包括数据库,Web服务器和您的自定义代码。在那里进行所有开发。切勿在生产服务器上编辑代码。

当您的业务涉众准备好功能上线时,请将您的代码从本地计算机推送到生产服务器。您可以使用测试服务器,以便内部涉众可以在上线之前预览您的更改。

您应该确保使用版本控制系统来管理代码。Git和Mercurial是可靠的选择。


嗨,格雷格,您可以指向我一个链接,向我展示如何做这些事情吗?我所知道的所有编码都是我自己学习的,因此我第一次在一家公司工作,尽管他们说这对我来说将是一个学习环境,他们对此表示满意,但我想尽可能多地学习。非常感谢。
ariel

这种模式称为“专用工作区”。网站notifyit.com/articles/article.aspx?p=30350似乎有一个合理的概述。
greg 2012年

同样,您可能永远也找不到适合您情况的确切配方。您应该能够识别生产环境中的每个子系统,并找到将其安装到本地工作站上的安装帮助。
greg

在您使用它的同时,源代码也可以控制您的数据库!
HLGEM 2012年

在我以前的工作之一中,我们的自动构建过程通过连续应用一系列SQL文件,将整个数据迁移的历史记录应用到了黄金数据集(生产数据的一个子集)中。
greg 2012年

6

仅仅要求搜索蜘蛛不要将您的网站编入索引是一个非常薄弱的​​防御措施(如果有的话)。

解决此问题的通常方法如下:

  • 在开发过程中,您在无法从LAN外部访问的开发机器上运行代码,甚至可能在同一机器(本地主机)以外的任何地方都无法访问代码。通常使用防火墙在网络级别(一个实际的LAN防火墙;如果您的公司绝对物有所值,您拥有一个防火墙)或本地(一个“个人”防火墙)完成防火墙。此外,您可以将本地apache服务器配置为仅接受来自本地主机(127.0.0.1)的连接。
  • 验收版本(即供客户试用和测试的沙盒版本)在与生产环境相同的机器上运行(尽可能多-一些配置细节必须不同);您限制访问的方式与开发环境类似,不同之处在于,您还授予对客户网络的访问权限。如果这是不可能的(例如,因为客户没有自己的专用IP,或者因为他们不愿意弄清楚它是什么),则可以考虑添加HTTP身份验证并为客户提供密码。需要注意的是,这可以在Web服务器级别(即Apache)上完成:HTTP身份验证未加密通过网络,因此,如果接受版本包含任何远程机密信息,

至于你如何设置这些东西了:如果你运行一个像样的* nix中的分布,它带有一个包管理器(aptport-installrpm等); 使用它来安装所需的组件,并阅读文档。如果您自己无法解决,请向系统管理员寻求帮助。


4

对于礼貌的抓取工具(即任何主要的搜索引擎),您可以提供以下/robots.txt文件:

用户代理: *
不允许: /

当然,这只是建议性的,如果人们知道URL,也不会禁止人们实际访问该网站。更好的方法是,如果您需要从整个Internet进行访问,或者只是将服务器托管在内部Web服务器上,则将该站点置于某种形式的登录名后面。


1
这个和格雷格(...另一个格雷格)的答案几乎完美地总结了一切。
2012年

1

本着“多学多进”的精神:

可以使用隐藏Html / Css robots.txt,但在将网站投入生产时,请务必更改这些文件。 robots.txt不会阻止一些随意的人猜测开发网站(如果它对全世界都是可见的)。

.htaccess可用于向正在开发的任何网站添加用户名/密码组合

这是您如何使用VPN的示例:

VPN上的所有请求都经过防火墙。该防火墙(运行诸如pfSense之类的某些软件)检查网站请求,并根据url进行一些重定向。例如,URL http://example.com.staging将定向到您的登台服务器上的example.com版本,而http://example.com.development的URL 将定向至example.com的版本在您的开发服务器上。

由于所有这些都在专用VPN上,因此无法从外部访问这些网站。

此外,为了澄清一些原始问题。php / mysql工作是在服务器端完成的,因此网络爬虫,浏览器等永远都看不到代码-他们只能看到代码的输出(也就是说,如果您已经正确配置了服务器并且未呈现.php文件为文本)。

我确定我误解了您的问题,但是发现您对“本地存储”一词的使用不明确。LocalStorage也可以引用HTML5技术,用于在客户端计算机上本地存储资产。它不用于呈现html / css,它只是一个数据存储区(浏览器呈现html / css)。本地存储通常与公司如何将网站隐藏在开发中无关。

如果您的计算机上正在运行Web服务器,并且文件位于适当的目录中(通常是htdocs运行Apache 的目录),则可以在本地查看PHP文件。


0

搜索引擎使用蜘蛛(spider)进行工作:脚本将网络从一个链接爬行到另一个链接。如果您的站点是新站点,并且没有其他链接到该站点,则找不到任何东西。那,加上一个robots.txt文件,该文件配置为阻止任何以某种方式在您的网站上徘徊的蜘蛛无法阅读它,就足够了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.