我已经在托管服务器上设置了Web2Py实例,并且在管理界面中,我已经禁用了示例应用,但它仍然可以访问。例如,(看看我在那里做了什么?)如果我输入地址 myserver.com/examples/template_examples/beautify 那么Web2Py很乐意将关于我服务器的各种令人讨厌的内容转储到上帝的页面上每个人都要看。
如何在不删除 Web2Py安装的应用程序的情况下使其处于非活动状态?
答案 0 :(得分:1)
也许你是代理人的背后。如果是这样,web2py可能会将请求视为本地请求,“禁用”功能不会影响本地请求。
一个简单的替代方法是在应用程序的第一个模型文件(例如db.py)的顶部添加类似下面的内容:
raise HTTP(503, '<html><body>Down for maintenance</body></html>')
答案 1 :(得分:0)
一种简单的方法是将路径名中的最后一个元素更改为不是有效Python标识符的内容。 Web2py在内部使用python对象表示视图,模型,应用程序和其他构造,如果您给出的名称不是有效的标识符,则web2py将覆盖它。
例如,将beautify
更改为beautify.IGNORE
,看看会发生什么。
我无法立即回想起哪些对象具有此效果,哪些对象需要重新启动web2py服务器进程。我认为(不确定)应用程序名称更改需要重新启动,而视图,控制器等则不需要。