我是一名学生,想设计一个在线评判系统。
我有一个问题:为了保证服务器安全,我必须让程序无权读取或写入任何文件 该程序是另一个用户通过在线评判系统提交的。它不是服务器程序本身。
在线裁判系统用户提交源代码,服务器程序编译运行。所以服务器程序必须保证服务器安全。
我的平台是 Windows,我使用 C++ 进行编程。
谁能给我一些建议?
最佳答案
您无法轻易阻止程序本身的行为,也无法验证该程序是非恶意的。
您可以做什么:以具有有限(几乎没有)访问权限的用户身份运行程序。您的服务器程序需要成为该用户并执行它编译的程序。您可能还想使用该用户帐户来实际编译程序(在不太可能的情况下,有人知道如何利用您的编译器)。
以不同用户身份执行程序的 windows 命令是:runas
。
关于c++ - 如何限制程序的文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11434752/