如何防止用户直接执行cgi脚本?

如何防止用户直接执行cgi脚本?

Apache 服务器。有一个 python 脚本,http/cgi-bin用于在页面上显示一些内容。但用户可以\<website>/cgi-bin/<script_name>直接访问它,这有点丑陋。可以防止这种情况发生吗favicon.icohttp/

答案1

这取决于浏览器本身是否运行该脚本,在这种情况下您无法阻止它。但是如果您有另一个包含该脚本或在本地调用该脚本的页面,那么您可以阻止 Web 访问 /cgi-bin/ 目录。

httpd.conf或 vhost include中.conf或在.htaccess文件中你可以放

<Directory "/full/absolute/path/to/website/cgi-bin">
    Require all denied
</Directory>

Apache 文档

至于阻止,favicon.ico如果您仍希望人们在浏览器中看到它,您就无法阻止它。请记住,您阻止访问的任何内容都意味着浏览器无法访问它。因此,如果您想阻止图标以便没有人可以看到它,那么删除图标文件会更容易。

答案2

<Directory /path/to/dir>
  DirectoryIndex file.cgi
</Directory>

目錄索引。这不会阻止客户端执行 file.cgi,但这意味着它不必成为 URL 的一部分。

相关内容