Comment puis-je arrêter le navigateur à partir de l'url de codage des valeurs d'un formulaire sur GET
J'ai un formulaire avec method="get"
. Dans le formulaire j'ai besoin de passer l'URL d'un fichier CSS, mais c'est en les codant pour http%3A%2F%2Fwww...
etc.
Est-il un moyen d'arrêter de l'encodage de l'URL comme il est de casser le fichier.
Grâce
Ce côté serveur de la langue utilisez-vous pour analyser la requête GET? Vous aurez besoin de décoder l'URL (la plupart des langages côté serveur ont construit dans cette)
OriginalL'auteur kristina | 2010-06-01
Vous devez vous connecter pour publier un commentaire.
Arrière-plan
C'est un peu plus subtile qu'on pourrait le penser à première vue. Pour toute URL, ce qui est une forme spécifique de l'URI de la norme, certains caractères sont spéciales. Parmi les caractères spéciaux sont
:
(séparateur de dispositif) et/
(chemin d'accès ou la hiérarchie séparateur), voici la liste complète des symboles réservés à partir de La RFC 2396:Il a peu à voir avec la sécurité, beaucoup plus simplement à la suite d'une norme: ces symboles signifient quelque chose de spécial dans toute URI, URL ou de l'URNE. Lorsque vous avez besoin de les utiliser dans le cadre d'un chemin ou d'une chaîne de requête (la requête GET crée une chaîne de requête pour vous), vous avez besoin de leur échapper. La version courte d'échapper à l'est: prendre l'UTF-8 octets sous forme hexadécimale et de le précéder par un
%
signe. Dans le cas des caractères réservés, c'est toujours de caractères à un octet en UTF-8 et échappent ainsi que de deux chiffres hexadécimaux.Chemin d'accès à une solution
Retour à votre problème. Vous n'avez pas parlé du langage que vous utilisez. Mais une langue qui fonctionne avec l'internet est un moyen de codage et de décodage d'adresses Url. Certains ont des fonctions d'assistance pour décoder une URL en entier, mais normalement, vous êtes mieux de le diviser en une des paires nom/valeur, puis de les décoder. Cela vous donnera l'absolu chemin de l'URL que vous avez besoin.
Remarque: il est préférable de toujours décoder les valeurs de requête, tout simplement parce que quand les gens entrer une valeur, ils ne savent pas si cette valeur est réservé, et le navigateur va coder pour vous. Ne pas le faire constitue un risque pour la sécurité.
EDIT: Quand vous en avez besoin pour décoder au sein d'une page, pas sur le côté serveur, vous allez avoir besoin de JavaScript pour faire le travail. Jetez un oeil à cette page fr/décodage Url, ou d'utiliser Google pour trouver beaucoup d'autres.
ce qui se passe sur la fin de réception de la chaîne? I. e., vous avez mis une URL dans la cible-attribut de l'
<iframe>
élément. Cette page doit savoir au sujet de la CSS-paramètre, le nom, et comment accéder à la valeur. Tout simplement l'application de certaines champ caché avec le nom "css" ne va pas magiquement changer la feuille de style css de la page, à moins que la page est programmée pour le faire.OriginalL'auteur Abel
Non, vous ne pouvez pas. Le codage est nécessaire de faire une URL valide.
Au lieu de cela, décoder la valeur de votre réception de code (ce que plate-forme êtes-vous sur de toute façon, l'URL de décodage se fait généralement automatiquement pour vous)
Je ne vois pas comment qui fait toute la différence
OriginalL'auteur Matti Virkkunen
Pas pour des raisons de sécurité, vous ne pouvez pas le faire. Vous avez à recueillir et à les décoder à l'extrémité de réception.
OriginalL'auteur Salil
Lorsque vous utilisez la FORME et de la méthode GET et certains caractères spéciaux, vous allez vous retrouver avec navigateur encodage de la requête.
Pour les navigateurs plus récents que de soutenir le changement de l'adresse URL sans rafraichissement de la page (IE10+), il est possible de décoder la chaîne de requête d'URL et de mise à jour de l'adresse.
Je suis à l'aide d'un script comme ceci:
Cela va transformer un http://example.com/page.html?path=foo%2Fbar retour à http://example.com/page.html?path=foo/bar
OriginalL'auteur eliz82
Si vous avez utilisé
XMLHttpRequest
vous pouvez envoyer des sms sans codage.Vous pouvez utiliser JavaScript pour le faire, mais n'oubliez pas de régler
content-type
àtext/plain
.OriginalL'auteur Yasser Gersy
Vous pouvez décoder l'url à l'aide de la Fonction javascript: decodeURIComponent(Url );
Parce que Navigateur encode l'Url pour les caractères spéciaux . Par exemple : https://www.example.com est codé pour %20https%3A%2F%2Fwww.example.com. Ici, les caractères spéciaux sont remplacés par % et de ses ASQUES valeur.
OriginalL'auteur Harshal Khatri