Ainsi, je fais une application en ligne que l'utilisateur peut soumettre le code et la sortie sera montrée à l'utilisateur. J'ai fait de la sécurité une priorité absolue et ont pris les mesures suivantes pour vous assurer que le code fonctionne correctement:Exécuter C++ dans VM, en toute sécurité
- Exécution du code sur une machine virtuelle, sur un VPS qui est utilisé seulement pour exécuter ces machines virtuelles. Ces machines virtuelles n'autorisent aucun réseau ou accès au fichier après le répertoire de travail.
En utilisant les G ++ suivants drapeaux:
-O -std=c++98 -pedantic-errors -Wfatal-errors -Werror -Wall -Wextra -Wno-missing-field-initializers -Wwrite-strings -Wno-deprecated -Wno-unused -Wno-non-virtual-dtor -Wno-variadic-macros -fmessage-length=0 -ftemplate-depth-128 -fno-merge-constants -fno-nonansi-builtins -fno-gnu-keywords -fno-elide-constructors -fstrict-aliasing -fstack-protector-all -Winvalid-pch
Ma question je pense est vraiment comment puis-je faire cela plus sûr? Avez-vous personnellement des problèmes avec cette approche?
Il n'y a vraiment aucune raison d'empêcher C++ 03. C++ 0x * peut-être * car sa bibliothèque standard inclut des threads, mais il n'y a rien de mal avec C++ 03. – Puppy