2010-05-17 4 views
2

Les niveaux SAFE sont-ils pris en charge dans JRuby? Si ce n'est pas le cas, existe-t-il d'autres moyens d'exécuter en toute sécurité le code fourni par l'utilisateur dans le serveur? Autant que je sache, ils ne sont pas pris en charge.Niveaux SAFE dans JRuby

+0

J'ai ajouté quelques balises afin que la question apparaisse dans la zone de sécurité de la JVM, dans l'espoir que quelqu'un de plus qualifié que moi puisse répondre à la question. –

+0

Merci pour les tags :) – user314362

Répondre

2

Le principal problème est qu'ils sont très mal documentées, alors comment sont les développeurs JRuby censés fournir une implémentation compatible si personne ne sait ce qu'est une application compatible est? Une autre raison de ne pas perdre de temps à implémenter les niveaux $SAFE dans JRuby, est que les mécanismes de sécurité de la JVM offrent une meilleure protection de toute façon. Ce qui est aussi la réponse à votre deuxième question: du point de vue de la JVM, votre script Ruby est juste un autre programme Java et peut être sandboxé et contrôlé comme n'importe quel autre programme Java.

Comment pour faire cela, cependant, est une question pour un expert Java. Je suis juste un humble hacker Ruby & hellip;

+3

$ SAFE et la sécurité JVM sont des concepts complètement différents. $ SAFE consiste à stopper les attaques basées sur la corruption en examinant la provenance des données fournies par l'utilisateur. Une JVM est une pièce rembourrée, une pièce où vous pouvez toujours obtenir pwn3d avec SQL Injection. – rook