Amazon web services 在联机编译器中隐藏文件夹

Amazon web services 在联机编译器中隐藏文件夹,amazon-web-services,directory,amazon-elastic-beanstalk,Amazon Web Services,Directory,Amazon Elastic Beanstalk,我开发了一个PHP应用程序,作为在线代码编译器(用C、Java和Python),并将其托管在AWS Elastic Beanstalk上。用户可以键入代码并提交以执行它。然后服务器将返回代码执行的输出 当用户键入my_app_url/some_dir时,网站将引发403错误。但是,用户仍然可以通过编写一些适当的代码列出/var/www/html中的所有文件和目录。我知道我可以处理代码的输出来隐藏它们,但是有更好的方法吗 所有目录和文件都归root:root所有。目录的权限模式为755,文件的权限

我开发了一个PHP应用程序,作为在线代码编译器(用C、Java和Python),并将其托管在AWS Elastic Beanstalk上。用户可以键入代码并提交以执行它。然后服务器将返回代码执行的输出

当用户键入my_app_url/some_dir时,网站将引发403错误。但是,用户仍然可以通过编写一些适当的代码列出
/var/www/html
中的所有文件和目录。我知道我可以处理代码的输出来隐藏它们,但是有更好的方法吗


所有目录和文件都归
root:root
所有。目录的权限模式为
755,文件的权限模式为
644。PHP应用程序以
webapp
的形式运行。首先,让我说,允许人们在您的服务器实例上运行任意代码不是一个好主意。根据谁有权访问您的服务,以及它的控制或监控程度,您可能会遇到各种各样的麻烦(例如,有人在您的服务器上发送垃圾邮件、进行DOS攻击或托管非法内容),因为他们可以在您的机器上运行任何类型的代码


回到你的问题上来,你需要以某种方式确保上传的代码只做你允许的事情。在Java中,您可以使用自定义安全策略(参见),例如,为了禁止代码中的文件访问。此外,您需要对内存使用和运行时间设置一些限制,并杀死任何超过这些限制的程序。我对C和Python不太熟悉,可能有类似的机制来控制进程在做什么。像TopCoder这样的平台允许在他们的机器上运行您自己的代码,但是安全地实现这样的机制肯定是一项非常复杂的任务。

首先让我说,允许人们在您的服务器实例上运行任意代码不是一个好主意。根据谁有权访问您的服务,以及它的控制或监控程度,您可能会遇到各种各样的麻烦(例如,有人在您的服务器上发送垃圾邮件、进行DOS攻击或托管非法内容),因为他们可以在您的机器上运行任何类型的代码

回到你的问题上来,你需要以某种方式确保上传的代码只做你允许的事情。在Java中,您可以使用自定义安全策略(参见),例如,为了禁止代码中的文件访问。此外,您需要对内存使用和运行时间设置一些限制,并杀死任何超过这些限制的程序。我对C和Python不太熟悉,可能有类似的机制来控制进程在做什么。像TopCoder这样的平台允许在其机器上运行您自己的代码,但是安全地实现这样的机制无疑是一项非常复杂的任务