我有一个名为test.html文件中的以下服务器端包括…
<!--#include virtual="/cgi-bin/myScript.cgi"--> <!--#include virtual="/includes/myFile.html"-->
当我在我的浏览器中查看test.html , myFile.html正被插入/呈现,但是myScript.cgi正在给我
[在执行此命令时出现的错误]
从浏览器地址栏,/ /cgi-bin/myScript.cgi渲染输出就好了,certificate文件存在于path中,权限是正确的(755)。
包含myFile.html就可以正确设置SSI处理程序,certificate正在分析页面。
所以,如果SSI正在工作,而myScript.cgi正在工作,为什么不包含#include virtual脚本?
作为一个侧面说明,这是一个cPanel托pipe帐户,我有许多其他帐户(网站)在同一个托pipe公司的服务器具有相同的configuration。 其他人都按预期工作。
该脚本只是将当天的年份作为格式化文本返回。 输出前面是Content-type: text/html\n\n ,它不是一个新的Perl脚本。 它正在其他帐户上工作。
我的托pipe公司将问题升级到了cPanel,让我感到尴尬的是,它最终成了我的.htaccess文件中的一个设置。
正在工作的帐户有这一行,破损的帐户,没有…
Options All -Indexes
All ,默认情况下,包括托pipe公司添加为了得到它的工作…
Options +Includes +ExecCGI
没有+ExecCGI ,就像我在原来的文章中所描述的那样。
在发现您的SSI工作方面很好的解决问题。
您已将问题本地化到CGI子系统。
首先,你需要确保你已经在你的.htaccess文件中设置了这个:
Options ExecCGI
如果问题仍然存在,则需要查看错误日志以找出原因:
此错误消息与500错误(通常是在.htaccess中出现错误时得到的错误)相同,因此日志是您可以在其中find描述性错误消息的位置。
cPanel允许你看到你的错误日志。
他们是你最好的朋友。
在错误日志部分,cPanel会向您显示您正在查找的客户端IP地址 – 顶部。 这是您的ISP分配的IP地址。
cPanel的现代版本(如2017年11月在Bluehost上使用的版本)突出显示了客户端的条目,因此黑客企图不会分散您的注意力。 如果您没有突出显示,请使用浏览器的Ctrl-F(查找)function来查找来自您的条目。
看到这个答案的结尾,他们处理的所有黑客攻击的例子。 值得每一分钱都让他们来处理,而不是试图在自己的服务器上运行自己的服务器。
解答:我相信你使用<!--#Include for CGI是个问题。
大多数现代的Apache服务器需要你使用:
<!--#exec cgi="/cgi-bin/myScript.cgi" -->
而不是简单地包括脚本。
==>确保你的HTML文件的扩展名是.shtm或.shtml 。
请注意,所有/cgi-bin/文件都需要有755个权限。 – 这意味着所有者的RWX和组和公共的RX
chmod 755 /cgi-bin/*
这显示了为什么使用托pipe服务而不是运行自己的服务器的原因。
黑客企图的日志输出示例,大部分被RBL阻止: