Security Grails/Groovy:运行应用程序与使用.war相比的危害

Security Grails/Groovy:运行应用程序与使用.war相比的危害,security,grails,war,run-app,Security,Grails,War,Run App,有人能通过使用“Grails run App”运行/部署我的Grails应用程序而不是使用.war文件“正确”运行/部署我的Grails应用程序来列举我自己(和我的站点)所暴露的一切吗 Grails.org saysL Grails绝不应该使用Grails run app命令部署,因为这会将Grails设置为“开发”模式,这会增加额外的开销 这只是性能问题,还是存在安全问题 性能是最大的区别。如果您必须使用run app,请确保运行“grails prod run app”,这样至少可以进行一些

有人能通过使用“Grails run App”运行/部署我的Grails应用程序而不是使用.war文件“正确”运行/部署我的Grails应用程序来列举我自己(和我的站点)所暴露的一切吗

Grails.org saysL

Grails绝不应该使用Grails run app命令部署,因为这会将Grails设置为“开发”模式,这会增加额外的开销


这只是性能问题,还是存在安全问题

性能是最大的区别。如果您必须使用run app,请确保运行“grails prod run app”,这样至少可以进行一些优化。run应用程序设计为对开发人员友好,需要大量的重新加载,并且需要相应的文件系统扫描来支持这一点


在战争中运行时,GSP是预编译的,这大大节省了permgen,并带来更快的性能。run app中几乎没有缓存,因为作为开发人员,您不想重新启动,但在生产环境中,您通常只需要为重新部署而进行更改,因此缓存更具攻击性。

性能是最大的区别。如果您必须使用run app,请确保运行“grails prod run app”,这样至少可以进行一些优化。run应用程序设计为对开发人员友好,需要大量的重新加载,并且需要相应的文件系统扫描来支持这一点


在战争中运行时,GSP是预编译的,这大大节省了permgen,并带来更快的性能。运行应用程序中几乎没有缓存,因为作为开发人员,您不想重新启动,但在生产中,您通常只需要为重新部署而进行更改,因此缓存更具攻击性。

再次感谢Burt,我刚刚更新了我的问题,特别包括安全性。关于开发模式,有什么是已知的/理论上可以额外利用的吗?我不知道。表现才是最重要的。还有其他问题,例如,您无法群集,定制服务器(例如,没有server.xml)的难度更大,等等。此外,您需要安装Grails才能使用run app,而war文件是自包含的,可以在许多servlet容器中工作,无需配置。我接受这一点,尽管我觉得这让我对缓慢的部署产生了一种错误的安全感。再次感谢Burt,我刚刚更新了我的问题,特别包括安全性。关于开发模式,有什么是已知的/理论上可以额外利用的吗?我不知道。表现才是最重要的。还有其他问题,例如,您无法群集,定制服务器(例如,没有server.xml)的难度更大,等等。此外,您需要安装Grails才能使用run app,而war文件是自包含的,可以在许多servlet容器中工作,无需配置。我接受这一点,尽管我觉得这让我对缓慢的部署产生了错误的安全感。