That looks generally right, but you should invalidate the cache inside write_hosts_deny(), and I am fairly sure the *with* statement only arrived in 2.5.
- [web2py] Re: Admin security: https vs localhost pbreit
- [web2py] Re: Admin security: https vs localhost Massimo Di Pierro
- [web2py] Re: Admin security: https vs localhost cjrh
- [web2py] Re: Admin security: https vs localhost pbreit
- [web2py] Re: Admin security: https vs localhos... cjrh
- [web2py] Re: Admin security: https vs loca... Ross Peoples
- [web2py] Re: Admin security: https vs ... Ross Peoples
- [web2py] Re: Admin security: http... cjrh
- [web2py] Re: Admin security: ... Ross Peoples
- [web2py] Re: Admin security: ... Ross Peoples
- [web2py] Re: Admin security: ... cjrh
- [web2py] Re: Admin security: ... Ross Peoples
- [web2py] Re: Admin security: ... cjrh
- [web2py] Re: Admin security: ... Massimo Di Pierro
- Re: [web2py] Re: Admin securi... Kenneth Lundström
- [web2py] Re: Admin security: ... Anthony
- Re: [web2py] Re: Admin securi... Caleb Hattingh
- [web2py] Re: Admin security: ... Massimo Di Pierro
- [web2py] Re: Admin security: ... cjrh
- [web2py] Re: Admin security: https vs localhos... Anthony