↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Временно не работает,
как войти читайте здесь!
leprechaun
15 декабря 2015
Aa Aa
#всякаяфигня #изначитидиот #олимпиады #янепрогерятолькоучусь
В инструкции для участников олимпиады по проге есть замечательный пункт:
Правила и дисквалификация

Обратите внимание, что вы должны отправлять на проверку только решения задач. Попытки дестабилизировать работу проверяющей системы и любые хулиганские действия приведут к немедленной дисквалификации, о факте хулиганства будет сообщено в школу.

До прочтения(а от скуки во время ожидания начала олимпиады я даже прочитала эту инструкцию) у меня даже в мыслях не было ничего такого, а вот стоило прочитать... Хорошо, что делать ничего роняющего принимающую систему я пока не умею, а то ведь сразу же захотелось.
Пы.Сы. срочно надо выяснить, какую гадость можно сотворить.
15 декабря 2015
8 комментариев из 15
_-_
Если прога будет жрать больше памяти, чем ей можно, её просто принудительно завершат :(
'
Jane_Slytherin, ну, тогда, если есть доступ к i/o
FILE* fp = fopen("test.c","a+");
for (int i=0; i < 100; i++){
fprintf(fp, "%sОБРАТНЫЙСЛЕШn", "#include __FILE__");
}
fclose(fp);
system("gcc test.c &>> randomfile");
место на диске кончится очень быстро
_-_
если участнику отдают docker-контейнер, то за пределы этой песочницы вылезти проблематично
а если правильно настроены квоты и ресурс-полиси, то забивание диска и зажирание проца почти не окажут влияния на остальных
ДНИЩE--ЫЫЫЫ
процессорное время программы и время ожидания (idleness) ограничены, и по их истечению (+eps) программа убивается
uncleroot, я и не отрицаю, что вменяемо настроенную систему будет достаточно сложно завалить (только зачем докер? чрут+cgroups+ulimits хватит, не?). Но, тащемта, всегда есть человеческий фактор и возможность мисконфигурации.
З.Ы. загуглил сайт этой олимпиады.
Присланный вами файл с решением сохраняется на сервере жюри и компилируется. Если компиляция прошла неудачно, вы получаете результат проверки "Compilation Error" (CE), вы также можете посмотреть сообщение о том, почему произошла ошибка компиляции.

/me теперь очень хочет туда заслать файл с сотней строчек "#include __FILE__", и посмотреть, как они отобразят 100^200 ошибок.
_-_
не обязательно докер, можно lxc
технически, хватит связки chroot+cgoups+ulimits, но без контейнеров я как-то на практике не встречал
ДНИЩE--ЫЫЫЫ
_-_
Есть предел времени компиляции
Как отображается длинный дог, посмотрю чуть позже
ПОИСК
ФАНФИКОВ











Закрыть
Закрыть
Закрыть