如何保护apache上的bash脚本?

如何closures我的PHP-Apache网站使用的几个bash脚本的访问权限?

我在我的文档根/var/www/有一个index.php文件。 index.php应该调用一些目前在/var/www/scripts/目录中的bash脚本。 不过,我不喜欢这些脚本可以通过请求http://mysite.com/scripts/script1.sh从Internet上下载的事实。

如何closures对脚本的访问,允许它们被index.php调用?

你应该可以使用FilesMatch指令:

http://httpd.apache.org/docs/2.2/mod/core.html#filesmatch

与订单和允许和拒绝指令。

干杯

您应该将脚本放在网站目录之外,这样无论服务器configuration或权限如何,都不能下载脚本。 你仍然可以从你的PHP代码执行它们,只要apache进程对它们有执行权限即可。

如果你从PHP脚本中执行这些脚本,没有人应该知道它们的存在。 无论如何,你可以把一个带有Deny ALL伪指令的.htaccess文件,以限制每个人从Apache访问该目录。 这是另一个问题,为什么你需要一个脚本目录下的DocumentRoot,但我认为有一些托pipe服务提供商不会给你另一个目录…

用这个名为shc的 shell脚本“编译器”来混淆脚本可能不会有什么坏处。 (不是一个真正的编译器)。