从客户端隐藏本地服务器上的php文件';s机器
我已经完成了一个web应用程序的构建,它使用了从客户端隐藏本地服务器上的php文件';s机器,php,Php,我已经完成了一个web应用程序的构建,它使用了PHP、Mysql、HTML和CSS的组合。我在Ubuntu 12.0上安装的apache上(在var/www/根文件夹中)托管了这个。这意味着web应用程序将在客户端计算机上本地托管 这也意味着客户机可以访问位于var/www/文件夹中的php文件,现在的问题是,他可以在需要时直接复制、删除或编辑php文件,但事实并非如此 我不希望客户端能够直接从文件夹访问文件,尽管他应该能够使用浏览器在本地访问文件 我在想,是否有一种方法可以对所有人隐藏文件,或
PHP
、Mysql
、HTML
和CSS
的组合。我在Ubuntu 12.0上安装的apache
上(在var/www/
根文件夹中)托管了这个。这意味着web应用程序将在客户端计算机上本地托管
这也意味着客户机可以访问位于var/www/
文件夹中的php文件,现在的问题是,他可以在需要时直接复制、删除或编辑php文件,但事实并非如此
我不希望客户端能够直接从文件夹访问文件,尽管他应该能够使用浏览器在本地访问文件
我在想,是否有一种方法可以对所有人隐藏文件,或者更好的方法是使用文件夹锁,当通过浏览器访问时,只能使用密码和非密码访问
经过大量研究,我似乎无法找到更好的解决方案,如果有人对此有想法,我将不胜感激。非常感谢您的帮助这个问题的答案有多个方面:
有几种选择:
如果客户对自己的本地环境至少没有sudo权限,那就真的很奇怪了 如果客户端具有root访问权限或位于sudoers文件中,则无法更改文件的所有权或文件权限 如果客户机在sudoers文件中,他可以简单地执行
sudo passwd root
来更改根密码,或者他可以执行sudo chown-R客户机:www-data/var/www/website
来获得对文件的访问权,而不考虑权限(他当然也可以轻松地更改权限)
正如巴特所说,如果你想加密你的文件,Ioncube可能是一个可行的解决方案。你无能为力。这是客户的电脑。他们拥有它。他们完全可以控制它,你对权限或隐藏所做的任何修改都可以被他们轻易地撤销。根据Marc B的解释,如果你需要保持文件的私密性,你唯一的选择就是把它们放在你的客户不拥有的机器上。有一些非常便宜的VPS选项,您可以将其用作独立的web服务器。然后,您可以允许您的客户仅对您希望他/她看到的部分进行受限访问。您可以尝试加密您的php脚本,例如下面的答案建议权限,但是这些都不太可能有帮助,因为用户可以运行php shell来浏览文件系统并读取文件。本质上,如果PHP可以读取文件进行处理,PHP脚本也可以获取内容。编码是一种通常的做法,如果需要的话,可以将文件限制在特定的机器上。您还应该投资签订一份具有法律约束力的协议,规定客户可以做什么。大揭露:我与ionCube有关。生活中有四个终极真理。死亡。税。客户总是错的。你不能告诉你的客户他们错了。