| 880 | == Using System Resources |
| 881 | The general approach in GeniusWeb is to try to run parties with as little restrictions as possible. Your party can thus access the system resources like |
| 882 | * creating sockets |
| 883 | * contacting websites |
| 884 | * downloading data from the web |
| 885 | * Create and delete files |
| 886 | |
| 887 | etc. So if the entire mschine is dedicated completely to running your party and only your party, you can feel free to hack around. |
| 888 | |
| 889 | However, in most cases, such as competitions, you are not the only party on the machine. Additionally, crashing your machine is not a good idea anyway. Thherefore you should be careful on how you use these powers. We recommend for instance |
| 890 | |
| 891 | * Properly free your resources after use |
| 892 | * If you need to write file, consider writing them in the /tmp directory |
| 893 | * Don't write to fixed files. Multiple of your parties might be running at the same time and therefore could cause a resource lock. Or your file might get damaged. |
| 894 | * Write secure code. Particularly |
| 895 | * Do not allow others to pass bad parameters settings (e.g., parameters) to your party such that your party would write to unpredictable files or directories, or worse cause execution of arbitrary code |
| 896 | * Avoid calling system.exec() functions if possible at all |
| 897 | |
| 898 | If you need to run a party written by soneome else, we recommend to run it on an isolated machine and possibly even without any network connection. That way you can entirely dispose the party and all it's side effects after running, ensuring the integrity of your other machines. |