building an online judge to evaluate Python programs

John Gordon gordon at panix.com
Fri Sep 20 16:08:23 EDT 2013


In <mailman.195.1379698177.18130.python-list at python.org> Jabba Laci <jabba.laci at gmail.com> writes:

> There are several questions:
> * What is someone sends an infinite loop? There should be a time limit.

You could run the judge as a background process, and kill it after ten
seconds if it hasn't finished.

> * What is someone sends a malicious code? The script should be run in a
> sandbox.

You could run the judge from its own account that doesn't have access to
anything else.  For extra security, make the judge program itself owned by
a separate account (but readable/executable by the judge account.)

I suppose you'd have to disable mail access from the judge account too.
Not sure how to easily do that.

-- 
John Gordon                   A is for Amy, who fell down the stairs
gordon at panix.com              B is for Basil, assaulted by bears
                                -- Edward Gorey, "The Gashlycrumb Tinies"




More information about the Python-list mailing list