如果我下载了PHP / MySQL,其他人可以访问我的文件吗?
我有大学互联网.它有IP,比方说220.81.184.12.我有一个名为let的说项目MyProject(它的文件夹).当我尝试输入220.81.184.12/MyProject时,它会启动我的网站.这意味着,大学里的每个人都可以访问我的文件夹和网站?我使用Ubuntu并安装了
PHP和MySQL.而且我也可以通过IP访问phpmyadmin,如220.81.184.12/phpmyadmin.
那么,发生了什么? 编辑:那是什么意思?如果其他人在他的PC上安装了PHP,会发生什么?
这里有很多内容,所以让我们潜入……
正如Marc B所提到的,如果你在一个没有防火墙的public IP上设置一个网络服务器,互联网上的每个人都可以访问它.这并不是说你处于这种情况 – 你说你在大学网络上,你很可能会发现他们实现某种形式的本地网络,在你的PC和互联网之间有一个NAT层和/或firewall .但是,您仍然可以发现大学网络(或至少您的部分 – 请参阅subnetting和VLANs)中的每个人都能够访问您的Web服务器. 你能做些什么来防止这种情况发生? 这绝不是一个详尽的列表,但这里有一些更常用的控制Web服务器安全性的方法. 将您的Web服务器设置为仅在localhost上侦听(Mark B已经涵盖了这一点,但要澄清): 主Apache配置文件httpd.conf使用名为 您可以修改此指令以限制更多.例如,如果您只想接受来自本地计算机的连接,则可以将其更改为Listen 127.0.0.1 80.通过执行此操作,您将能够从本地计算机上访问您的Web服务器,网址为http://127.0. 0.1 /,http:// localhost /,和http://220.81.184.12/ – 是的,你仍然可以使用与机器相关的任何地址,因为环回工作的方式 – 但世界上任何地方都没有其他机器能够使用任何地址直接访问它. 配置防火墙以阻止来自其他计算机的连接: 默认情况下,几乎所有防火墙都会阻止每个传入请求,您必须明确允许开放端口和/或应用程序接受传入连接.如果您不希望其他计算机能够访问您的服务器,请不要打开允许该应用程序的端口.许多防火墙允许您通过允许来自某些IP地址但不允许其他IP地址的传入请求,对这些规则更具选择性. 如果您想阻止其他人访问您计算机托管的网络资源,防火墙通常是一个很好的起点. You should find that your Ubuntu installation comes with iptables included. 限制可以访问Apache配置文件中的目录的远程客户端: 您可能已经知道,为了让Apache为目录服务,您必须在httpd.conf中为它创建一个 Order allow,deny Allow from all 这允许来自每个客户端的所有请求.如您所见,有两个指令 – Order deny,allow Deny from all Allow from 127.0.0.1 将默认值更改为会导致每个请求被拒绝,除非它来自127.0.0.1 – 您的本地计算机.现在让我们假设你想让你的朋友(IP地址是172.32.64.218)访问该页面 – 我们在上面的配置结尾添加了一个他的IP地址的Allow指令: Allow from 172.32.64.218 设置完成后,您的朋友告诉您他拥有172.32.64.216和172.32.64.223之间的所有IP地址,并希望能够使用其中任何一个来访问您的服务器.而不是创建8个单独的Allow指令,我们可以将其定义为:使用CIDR速记,我们可以将此子网表示为172.32.64.216/29,我们可以在Allow指令中使用它: Allow from 172.32.64.216/29 <目录> sections定义了目录及其所有子目录的规则,因此如果将规则应用于/ myDir,相同的规则也将适用于/ myDir / subDir和/ myDir / subDir / subSubDir.但是,您可以在树下面覆盖这些规则 – 因此您可以创建<目录> / myDir / subDir / subSubDir的部分具有不同的规则.您也可以使用.htaccess文件来定义规则,只要您使用 如您所见,这种控制谁可以访问您的站点的方法配置相对简单,并且可以提供强大而灵活的规则控制. 回答你的问题如果其他人在他的电脑中安装了PHP,会发生什么? – 没有. PHP是一种服务器端脚本语言,不能直接影响任何其他计算机上的任何内容,特别是在控制对远程计算机的访问方面. 脚注#1 06/2012 只是简单地提一下,在Apache 2.4中已经弃用了Order,Allow和Deny指令.此类访问控制现已与标准身份验证过程合并,现在使用mod_authz_host支持的Require ip,Require host和Require local directives提供. 由于向后兼容性,仍然在mod_access_compat中提供对Order,Allow和Deny的支持,但2.4 branch及更高版本的新配置应使用相应的Require结构,旧的配置应在迁移后转换为使用新机制.旧的控制机制将在未来的Apache版本中删除. here提供了一份介绍新指令用法的文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |