2012-03-30 36 views
1

小さなjavascriptスクリプトを実行しようとしています。 XMLHttpRequestののパラメータの一つは、ファイルパスなので、URLは次のようになります。XMLHttpRequestは自動的にバックスラッシュ()をスラッシュ(/)に置き換えます。

アプリケーションを壊す
http://myaddress:myport/action/C://PATH//TO//MY//FILE.EXT/some/other/params 

http://myaddress:myport/action/C:\\PATH\\TO\\MY\\FILE.EXT/some/other/params 

しかし、XMLHttpRequestが、アドレスを変更します。要求されたアドレスをXMLHttpRequestが変更できないようにするにはどうすればよいですか?

+1

あなたは本当にパスを送りますか?だから、ハッカーはサーバーからファイルを取り出すことができますか? Yikes – epascarello

+0

これはローカルコンピュータのテストのためのものです。 – Sambatyon

答えて

2

URLに生の特殊文字を入れないでください。

encodeURIComponent('C:\\PATH\\TO\\MY\\FILE.EXT') 
"C%3A%5CPATH%5CTO%5CMY%5CFILE.EXT" 
1
はあなたのURLにそれを置く前にパスをエスケープ

'http://myaddress:myport/action/' + encodeURIComponent('C:\\PATH\\TO\\MY\\FILE.EXT') + '/some/other/params' 
関連する問題