2010-06-04 2 views
0

J'ai un champ sous forme, permet de dire:Changement XMLHTTPRequest par défaut qui envoie après envoi du formulaire

<FORM action="http://server.com/cgi/handle" 
     enctype="multipart/form-data" 
     method="post"> 
    <P> 
    What is your name? <INPUT type="text" name="submit-name"><BR> 
    What files are you sending? <INPUT type="file" name="files"><BR> 
    <INPUT type="submit" value="Send"> <INPUT type="reset"> 
</FORM> 

et sur présentation de ce formulaire est XMLHttpRequest généré, par exemple:

Content-Type: multipart/form-data; boundary = AaB03x

--AaB03x 
    Content-Disposition: form-data; name="submit-name" 

    Larry 
    --AaB03x 
    Content-Disposition: form-data; name="files"; filename="file1.txt" 
    Content-Type: text/plain 

    ... contents of file1.txt ... 
    --AaB03x-- 

et je veux changer cette demande, je dois changer le nom et le contenu du fichier qui est envoyé. Pourrait-il être fait? N'est-ce pas un problème de sécurité?

+0

Bienvenue chez SO. Où est généré XMLHTTPReqest dans votre exemple? Je ne peux pas voir. –

Répondre

1

Je ne suis pas sûr de comprendre la situation mais je pense que vous voulez dire une requête POST normale, pas une requête XMLHTTP spécifique à JavaScript (les requêtes Ajax sont basées sur cette méthode).

Si vous demandez comment modifier la requête, le navigateur envoie au serveur lors de l'utilisation multipart/form-data alors je suis assez sûr que la réponse est: Vous ne pouvez pas. C'est une question complètement hors du contrôle du site.

Je doute également fortement qu'il y ait une façon basée sur JavaScript de le faire parce que vous utilisez un téléchargement de fichier. Le contenu d'un fichier téléchargé n'est pas disponible sur la page Web pour des raisons de sécurité, vous n'aurez donc aucune chance d'encoder ce fichier vous-même et de faire une requête brute en utilisant XMLHTTPRequest ou toute autre méthode côté client.

Questions connexes