您好,感谢大家阅读我的问题.
我已经在PHP Web程序上工作了一段时间,并且想知道在将源代码放到实时服务器上之前应该采取什么措施来保护源代码.来源并未分发,而是通过网站进行访问(用户登录该网站以使用它).
首先,我想保护源php文件免遭发现和下载.我没有使用任何框架,只是php和所有文件都在index.php的主目录中.我四处阅读,似乎robots.txt并不是真正有效的隐藏工具.我遇到了一些人推荐.htaccess的帖子,但我经常认为这是为了使用密码保护目录中的文件,因此不确定是否有办法使htaccess适用于Web应用程序.
其次,在有人访问源文件的情况下(无论是找到并下载它们还是可以访问服务器的系统管理员),我都想保护源文件.我想到了使用ioncube之类的源加密.我的主持人也有GnuPG [我不熟悉,与ioncube相比有什么想法吗?]
我不熟悉源代码保护,因此任何想法都很好,当然,非常感谢您:)
解决方法:
只要确保您的Web服务器已设置为正确处理.php文件,并且所有文件都具有正确的.php扩展名(而不是.php.inc或类似名称)
只要您的服务器执行PHP,就没有人可以下载其源代码(忽略代码中的任何安全漏洞,这是另一个主题).
曾经有一段时间,通常使用mystuff.php.inc来命名包含的文件-这是一个坏主意.假设您的网站位于“ example.com”,并且您将数据库配置存储在config.php.inc中-如果有人猜到了该URL,他们可以请求http://example.com/config.php.inc并以纯文本格式登录.
将配置和其他库存储在一个目录中作为bisko answered是一个好主意-这样您就拥有类似的目录结构.
/var/example.com:
include/
config.php
helper_blah.php
webroot/
index.php
view.php
这样,即使您的Web服务器配置搞砸了,并开始以纯文本格式提供.php文件,这也很糟糕,但是至少您不会向世界发布数据库详细信息.
至于加密文件,我认为这不是一个好主意.文件必须未加密,Apache(或您使用的任何服务器)才能访问它们.如果Apache可以访问它,则您的sysadmin也可以.
我不认为加密是不值得信赖的系统管理员的解决方案.
标签:security,encryption,php
来源: https://codeday.me/bug/20191210/2102140.html