J'ai lu le Article de Wikipedia mais je ne suis pas vraiment sûr de ce que cela signifie, ni de sa similarité avec contrôle des versions .
Il serait utile que quelqu'un puisse expliquer en termes très simples ce qu'est le sandboxing.
J'ai lu le Article de Wikipedia mais je ne suis pas vraiment sûr de ce que cela signifie, ni de sa similarité avec contrôle des versions .
Il serait utile que quelqu'un puisse expliquer en termes très simples ce qu'est le sandboxing.
A bac à sable ou carré de sable est un récipient bas et large ou une dépression peu profonde remplie de sable dans laquelle les enfants peuvent jouer. De nombreux propriétaires ayant des enfants construisent des bacs à sable dans leur cour car, contrairement à la plupart des équipements de terrain de jeu, ils peuvent être construits facilement et à moindre coût. Un "bac à sable" peut également désigner une mine de sable à ciel ouvert.
Eh bien, un bac à sable logiciel n'est pas différent d'un bac à sable construit pour qu'un enfant puisse jouer. En fournissant un bac à sable à un enfant, nous simulons l'environnement d'un vrai terrain de jeu (en d'autres termes, un bac à sable logiciel). isolated environment
) mais avec des restrictions sur ce que l'enfant peut faire. Parce que nous ne voulons pas que l'enfant soit infecté ou qu'il cause des problèmes aux autres. :) Quelle que soit la raison, nous voulons juste mettre des restrictions sur ce que l'enfant peut faire pour Security Reasons
.
Pour en venir à notre bac à sable logiciel, nous laissons tout logiciel (enfant) s'exécuter (jouer) mais avec certaines restrictions sur ce qu'il (elle) peut faire. Nous pouvons sentir sûr et sécurisé sur ce que le logiciel d'exécution peut faire.
Vous avez vu et utilisé des logiciels antivirus. N'est-ce pas ? C'est aussi une sorte de bac à sable. Il impose des restrictions sur ce qu'un programme peut faire. Lorsqu'une activité malveillante est détectée, il s'arrête et informe l'utilisateur que "cette application essaie d'accéder à telle ou telle ressource. Voulez-vous l'autoriser ?".
Téléchargez un programme nommé bac à sable et vous pouvez avoir une expérience pratique d'un bac à sable. En utilisant ce programme, vous pouvez exécuter n'importe quel programme dans un environnement contrôlé.
Les flèches rouges indiquent les changements qui passent d'un programme en cours d'exécution à votre ordinateur. La case intitulée Disque dur (sans bac à sable) indique les modifications apportées par un programme fonctionnant normalement. La case intitulée Disque dur (avec bac à sable) montre les modifications apportées par un programme fonctionnant sous Sandboxie. L'animation montre que Sandboxie est capable d'intercepter les modifications et de les isoler dans un bac à sable, représenté par un rectangle jaune. Elle montre également qu'en regroupant les modifications, il est facile de les supprimer toutes en même temps.
Du point de vue du programmeur, la sandbox restreint l'API autorisée pour l'application. Dans l'exemple de l'antivirus, nous limitons l'appel système (API du système d'exploitation).
Un autre exemple serait les arènes de codage en ligne comme topcoder. Vous soumettez un code (programme) mais il s'exécute sur le serveur. Pour le safety
du serveur, ils doivent limiter le niveau d'accès de l'API du programme. En d'autres termes, ils doivent créer un bac à sable et exécuter votre programme à l'intérieur de celui-ci.
Si vous disposez d'un bon sandox, vous pouvez même exécuter un fichier infecté par un virus et arrêter toute activité malveillante du virus et voir par vous-même ce qu'il essaie de faire. En fait, ce sera la première étape d'un chercheur d'antivirus.
Cette définition du sandboxing signifie essentiellement que l'on dispose d'environnements de test (intégration du développeur, assurance qualité, stage, etc.). Ces environnements de test imitent la production, mais ils ne partagent aucune des ressources de la production. Ils disposent de serveurs, de files d'attente, de bases de données et d'autres ressources totalement distinctes.
Plus couramment, j'ai vu le sandboxing se référer à quelque chose comme une machine virtuelle - isoler un code en cours d'exécution sur une machine afin qu'il ne puisse pas affecter le système de base.
En gros, le sandboxing consiste à tester un logiciel dans un environnement contrôlé avant de l'utiliser réellement. n'est-ce pas ? au fait, pourquoi l'appelle-t-on "sandboxing" ?
>>Pourquoi cela s'appelle-t-il 'sandboxing' @eSKay parce que les gens jouent avec les logiciels/matériels comme des enfants dans leur bac à sable ( thefreedictionary.com/sandbox - définition n°3).
Pour un exemple concret : supposons que vous ayez une application qui traite des transferts d'argent. Dans l'environnement de production, de l'argent réel est échangé. Dans l'environnement sandboxé, tout fonctionne exactement de la même manière, mais l'argent est virtuel. C'est à des fins de test.
Paypal offre un tel environnement de type "sandbox", par exemple.
Google NaCl pourrait être un bon exemple et vous pouvez trouver beaucoup de bons exemples et d'explications là-bas.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.