如何安全地传递url和文件名作为查询字符串的一部分?

时间:2015-03-07 14:07:59

标签: javascript

说我有一个网址:http://foo.com

通常如果我想传递任何参数,我会做类似的事情:

http://foo.com?param1=car&param2=red

但是如果我想传递一个url和文件名呢? 我不能这样做:

http://foo.com?url=http://bar.com/kitty.jpg&filename=kitty.jpg

因为我可能需要逃脱许多角色。我在javascript中创建了url,因此我可以使用Javascript API来构建url。关于如何做到这一点的任何建议,以及需要注意哪些陷阱?如何安全地创建网址?

1 个答案:

答案 0 :(得分:2)

您需要的只是encodeURIComponent - 简单示例:

var url='http://bar.com/kitty.jpg';
var filename='kitty.jpg';

var completeUrl='http://foo.com'+
   '?url='+encodeURIComponent(url)+
   '&filename='+encodeURIComponent(filename);