Answer the question
In order to leave comments, you need to log in
How to implement an online compiler in Django?
I am developing a project for online training in encryption methods. An application is needed that receives the *.cpp source file from the user, compiles it on the server, checks the correctness of the task according to the prepared tests, and, if the user's result matches the reference result, returns a success message.
I've been racking my brain for a day, but it never occurred to an adequate and normally working implementation.
Answer the question
In order to leave comments, you need to log in
Когда я подобную задачу решал (правда, десктопная программа для тестирования была, но не суть), то делал примерно по следующему алгоритму:
В вашем случае нужен будет выделенный сервер (желательно отдельно от основного сайта, чтобы, в случае какой уязвимости, пользователь не мог получить доступа к сайту тестирования), с которым бы сайт общался по API: сайт отправляет серверу файл, а тот в ответ шлет результат компиляции. Если все ок, то статус успешности и результат вывода, иначе - ошибку и комментарий компилятора.
Можно же общаться с бинарником и компилятором через пайпы (os.popen). Для бинарника в целях безопасности сделать chroot.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question