sov*_*ova 8 php apache source-code-protection
为了让PHP运行,我必须在Apache webserver上启用Includes.没有人能真正看到我的.php文件,因为当它们被服务器提取时,它们被渲染,而客户端只能看到css/html /等等.它可能只是用PHP突出我的新意.
是否有人可以打破我的服务器的PHP渲染部分,以便客户端在请求页面时能够看到我的.php代码?
如果这可以发生,有一些什么预防措施,我可以采取什么措施确保我的商业代码保持闭源?
再说一次,这可能不是一个真正的问题,但我很想知道.
正如其他人所说的那样,将.php文件视为纯文本的配置错误的Web服务器将很乐意为您提供源代码.
然而,现在大多数框架(包括公共框架或内部框架)在Web可访问区域中保留很少的PHP代码.通常,文档根目录中有一个index.php文件,其中包含并调用完全位于文档根目录之外的其他文件中的代码.
通常,你会有这样的事情:
/path/to/proj/ <-- your project root
/path/to/proj/application <-- holds most of your appication code
/path/to/proj/lib <-- third-party libraries go here
/path/to/proj/public <-- your web server uses this as the document root.
/path/to/proj/public/index.php <-- single point of entry into your applicaiton. all requests are routed through here.
/path/to/proj/public/images <-- static resources, like images, also live under the docroot.
Run Code Online (Sandbox Code Playgroud)
重写规则通常用于通过一个公共index.php文件编组任何请求.
使用这样的设置,如果您的网络服务器被错误配置,导致它传输您的代码,您将被覆盖.唯一的泄漏是你的index.php文件,它可能是一些include/require语句,以及单个函数/方法调用.什么都不敏感.
查看标准的Zend Framework或Symfony(或任何框架,实际上)文件布局,以获得更清晰的图片.
有两种方法可以实现:
为了防止任何这些情况导致问题:
不要将任何敏感信息(例如密码)嵌入到源文件中.而是将它们包含在Web根目录之外的文件中.因此,如果您的来源变得可见,则任何人都无法访问该私人数据.
不要在生产中的屏幕上显示错误.数据库密码可能会在抛出的异常中显示.
请务必禁用生产中的任何开发/调试设置.
| 归档时间: |
|
| 查看次数: |
1813 次 |
| 最近记录: |