--- title: Modèle de sécurité Mozilla des services Web slug: Modèle_de_sécurité_Mozilla_des_services_Web tags: - Services_Web_XML translation_of: Mozilla/Mozilla_Web_Services_Security_Model ---
(This document is being compiled from scattered documentation and source code and most of the information in it has not been verified. Please do not depend on anything in it being correct for security.)
Afin d'empêcher le navigateur d'être utilisé comme un outil permettant aux sites Web d'obtenir des privilèges qui doivent rester du domaine de l'utilisateur (tels qu'être derrière un pare-feu ou tirer avantage des cookies utilisateur), Les navigateurs Web restreignent les droits de pages Web lorsqu'elles accèdent à des ressources d'autres domaines. Ces restrictions s'appliquent également aux services Web.
Cependant, les services Web peuvent être destinés à être accessible depuis d'autres domaines, voire depuis n'importe quel domaine. Mozilla permet aux sites d'hébergement des services Web de lui indiquer quels services Web sont accessibles depuis d'autres sites. Ils y parviennent en créant un fichier nommé web-scripts-access.xml
à la racine du serveur qui accorde les permissions d'accès aux services Web par les domaines extérieurs. Par exemple, pour déterminer quels sites Web peuvent accéder à un service situé à l'adresse http://www.example.com/dir1/dir2/service, Mozilla chargera le fichier http://www.example.com/web-scripts-access.xml, qui pourra choisir de déléguer la décision au fichier http://www.example.com/dir1/dir2/web...pts-access.xml.
Le fichier web-scripts-access.xml
est un document XML. Toutes erreurs dans la syntaxe XML, aussi bien que tout échec to follow the format, fera que le document sera ignoré.
Son élément racine doit être une élément webScriptAccess
de l'espace de nommage http://www.mozilla.org/2002/soap/security
. Cet élément doit avoir au moins un élément descendant delegate
ou n'importe quelle quantité (0 ou plus) d'élément descendant allow
. Tous ces éléments descendants doivent être dans le même espace de nommage que le parent, et doivent être vide.
La présence d'un élément delegate
signifie que le navigateur pourra déléguer les contrôles d'accès à un fichier web-scripts-access.xml
situé dans le répertoire du service Web. Par exemple, lors de l'accès à un service Web situé à l'adresse http://www.example.com/dir1/dir2/service
, si le fichier d'accès situé à l'adresses http://www.example.com/web-scripts-access.xml
contient un élément delegate
, Mozilla utilisera plutôt http://www.example.com/dir1/dir2/web...ipt-access.xml
pour déterminer si l'accès est autorisé ou non. Si un tel fichier n'existe pas, alors l'accès sera interdit.
Si aucun élément delegate
n'est présent ou si e service Web est dans le même répertoire que le fichier web-script-access.xml
, alors les éléments allow
seront traités. Si le fichier existe mais qu'il ne contient pas d'élément allow
, alors tous les accès seront autorisés. Si des éléments allow
existent, alors l'accès sera permis si au moins l'un d'entre eux l'autorise.
L'attribut type
de l'élément allow
peut prendre les valeurs suivantes :
allow
s'applique à tous les services qui utilisent le fichier web-scripts-access.xml
pour les vérifications de sécurité. Il pourra y avoir bien plus de services Web dans l'avenir qu'il n'en existe à l'heure actuelle. Ceci est équivalent à l'absence d'attribut type
.L'attribut from
de l'élément allow
indique les sites appelants auxquels s'applique l'élément allow
. Si aucun attribut from
n'existe alors l'élément allow
s'applique à tous les sites. Autrement, l'attribut from
donne une URL à valider, qui peut contenir jusqu'à deux astérisques (*
) qui correspondent à n'importe quel caractère. La validation se fait par rapport à une URL pour laquelle le répertoire et le fichier ont été supprimés, ainsi valider une page spécifique fera échouer la validation dans son ensemble. (Is this correct?)
Ces exemples n'ont pas été testés ! Ils devraient l'être afin de s'assurer qu'ils font bien se qu'ils sont supposé faire.
Notez que ceci est une chose sensible à ne faire que le site ne sert pas de contenu basé sur les cookies, l'authentification HTTP, l'adresse IP/Domaine d'origine, ou tout autre méthode d'authentification.
<webScriptAccess xmlns="http://www.mozilla.org/2002/soap/security"/></pre>
Pour autoriser l'accès aux services uniquement depuis un répertoire donné (par exemple, le répertoire où se trouve des services sécurisés, publiques et ne nécessitant pas d'authentification), vous avez besoin d'un fichier web-scripts-access.xml
dans le répertoire racine du serveur et un autre dans le répertoire contenant les services. Dans le répertoire racine du serveur :
<webScriptAccess xmlns="http://www.mozilla.org/2002/soap/security"> <delegate/> <allow type="none"/> </webScriptAccess>
Et dans le répertoire des services :
<webScriptAccess xmlns="http://www.mozilla.org/2002/soap/security"> <allow type="soapv"/> <allow type="soap"/> </webScriptAccess>
=== Good examples === (Needed.)
web-scripts-access.xml