mod_wsgi 和 WSGIScript 指令
mod_wsgi and WSGIScript directive
在我的虚拟服务器配置中,我有这个:
DocumentRoot /var/www/project/app/
我还有这个指令:
WSGIScriptAlias / /var/www/project/app/wsgi.py
来自 mod_wsgi 文档:“避免将 WSGI 脚本放在 DocumentRoot 下,以避免在配置发生更改时意外泄露其源代码"
我很清楚,我必须在这里删除 DocumentRoot 指令!我只想知道如何泄露我的 wsgi.py 文件的代码。什么样的请求可以对该文件有响应?
变化:
WSGIScriptAlias / /var/www/project/app/wsgi.py
至:
WSGIScriptAlias /suburl /var/www/project/app/wsgi.py
重新启动 Apache,然后访问 /wsgi.py
。它将下载并显示您的源代码。
通常没有理由将 DocumentRoot
设置为使用 WSGIScriptAlias
时 WSGI 脚本文件所在的目录。通过在不需要时执行此操作,如果您决定更改配置以将应用程序安装在子 URL 上并且不了解其含义,那么您离使代码可用只有一步之遥。
因为没有必要,所以不要让自己暴露在额外的风险中。
在我的虚拟服务器配置中,我有这个:
DocumentRoot /var/www/project/app/
我还有这个指令:
WSGIScriptAlias / /var/www/project/app/wsgi.py
来自 mod_wsgi 文档:“避免将 WSGI 脚本放在 DocumentRoot 下,以避免在配置发生更改时意外泄露其源代码"
我很清楚,我必须在这里删除 DocumentRoot 指令!我只想知道如何泄露我的 wsgi.py 文件的代码。什么样的请求可以对该文件有响应?
变化:
WSGIScriptAlias / /var/www/project/app/wsgi.py
至:
WSGIScriptAlias /suburl /var/www/project/app/wsgi.py
重新启动 Apache,然后访问 /wsgi.py
。它将下载并显示您的源代码。
通常没有理由将 DocumentRoot
设置为使用 WSGIScriptAlias
时 WSGI 脚本文件所在的目录。通过在不需要时执行此操作,如果您决定更改配置以将应用程序安装在子 URL 上并且不了解其含义,那么您离使代码可用只有一步之遥。
因为没有必要,所以不要让自己暴露在额外的风险中。