3

我是一名学生,想设计一个在线裁判系统。

我有一个问题:为了保证服务器的安全,我必须让程序无权读取或写入任何文件 该程序是其他用户通过在线评判系统提交的。它不是服务器程序本身。

在线裁判系统用户提交源代码,服务器程序编译运行。所以服务器程序必须保证服务器的安全。

我的平台是 Windows,我使用 C++ 进行编程。

谁能给我一些建议?

4

2 回答 2

2

您无法轻易阻止程序本身的行为,也无法验证该程序是否无恶意。

您可以做什么:以具有有限(几乎没有)访问权限的用户身份运行程序。您的服务器程序需要成为该用户并执行它已编译的程序。您可能还想使用该用户帐户来实际编译程序(在不太可能的情况下,有人知道如何利用您的编译器)。

以不同用户身份执行程序的 windows 命令是:runas.

于 2012-07-11T16:30:57.787 回答
0

您可以更改文件和目录的权限,然后使用 CreateProcessAsUser 以具有有限(接近无)访问权限的用户身份运行用户提交的程序。

于 2012-07-11T16:44:44.093 回答