![如何防止用户直接执行cgi脚本?](https://linux22.com/image/764740/%E5%A6%82%E4%BD%95%E9%98%B2%E6%AD%A2%E7%94%A8%E6%88%B7%E7%9B%B4%E6%8E%A5%E6%89%A7%E8%A1%8Ccgi%E8%84%9A%E6%9C%AC%EF%BC%9F.png)
Apache 服务器。有一个 python 脚本,http/cgi-bin
用于在页面上显示一些内容。但用户可以\<website>/cgi-bin/<script_name>
直接访问它,这有点丑陋。可以防止这种情况发生吗favicon.ico
?http/
答案1
这取决于浏览器本身是否运行该脚本,在这种情况下您无法阻止它。但是如果您有另一个包含该脚本或在本地调用该脚本的页面,那么您可以阻止 Web 访问 /cgi-bin/ 目录。
在httpd.conf
或 vhost include中.conf
或在.htaccess
文件中你可以放
<Directory "/full/absolute/path/to/website/cgi-bin">
Require all denied
</Directory>
至于阻止,favicon.ico
如果您仍希望人们在浏览器中看到它,您就无法阻止它。请记住,您阻止访问的任何内容都意味着浏览器无法访问它。因此,如果您想阻止图标以便没有人可以看到它,那么删除图标文件会更容易。
答案2
<Directory /path/to/dir>
DirectoryIndex file.cgi
</Directory>
看目錄索引。这不会阻止客户端执行 file.cgi,但这意味着它不必成为 URL 的一部分。