doushao1948 2010-10-19 01:34
浏览 25
已采纳

确保用户输入代码在执行时不会损坏服务器

I'm working on a web app that can allow the user to input some code, and it will be compiled and executed, and they can see the result. I'm coding the app in PHP and I need a way to ensure that if the user inputs some harmful code (this example is PHP), it can't execute and destroy my server. Example:

<?php
shell_exec('rm -rf /');
?>

I'm thinking that permissions on the uploaded code's file might do it just fine, but I wanted some secondary input. Thanks!

  • 写回答

1条回答 默认 最新

  • dora12345678 2010-10-19 01:38
    关注

    Do not do this unless you are a security professional. There are countless ways to destroy things that you can't possibly forsee.

    The only case in which this is acceptable is if you give each user an actual user in the system with its own home directory, permission set, etc. and ensure that they can't actually touch anything that's not theirs whatsoever. And, even then, you'll still get hit with something you didn't expect.

    I wouldn't trust myself to write something like this for another good 10 years, minimum, if even then. Users are never trustworthy, ever, and there's always someone smarter out there. No way am I giving out that kind of freedom.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题