HTML Encode 和URL Encode的区别

HTML Encode

XSS之所以会发生, 是因为用户输入的数据变成了代码。 所以我们需要对用户输入的数据进行HTML Encode处理。 将其中的"中括号", “单引号”,“引号” 之类的特殊字符进行编码。


关于URL 编码是为了符合url的规范。因为在标准的url规范中中文和很多的字符是不允许出现在url中的。

例如在baidu中搜索"测试汉字"。 URL会变成
http://www.baidu.com/s?wd=%B2%E2%CA%D4%BA%BA%D7%D6&rsv_bp=0&rsv_spt=3&inputT=7477

 

所谓URL编码就是: 把所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+


Web安全测试之XSS:   http://www.cnblogs.com/TankXiao/archive/2012/03/21/2337194.html#browserxss


HTML中,表单提交数据时会涉及URL编码。表单的`enctype`属性规定了被提交数据的编码,默认值为`url-encoded` [^3]。 ### 原理 URL编码的原理是将非ASCII字符、特殊字符等转换为`%`后跟两位十六进制数的形式,以确保数据能在URL中安全传输。例如,空格会被编码为`%20`,特殊字符如`&`会被编码为`%26`等。这是因为URL中只能包含特定的ASCII字符,其他字符需要进行编码转换。 ### 使用方法 在HTML表单中,默认情况下,表单数据会以`application/x-www-form-urlencoded`格式进行编码并提交。可以通过设置表单的`enctype`属性来指定编码方式,不过`url-encoded`是最常用的。同时,还可以通过设置`method`属性来指定提交方式,常用的有`GET``POST`。 ### 示例 以下是一个简单的HTML表单示例: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Form Example</title> </head> <body> <form action="submit.php" method="GET"> <label for="name">Name:</label> <input type="text" id="name" name="name"><br><br> <label for="email">Email:</label> <input type="email" id="email" name="email"><br><br> <input type="submit" value="Submit"> </form> </body> </html> ``` 当用户填写表单并点击提交按钮时,表单数据会以`url-encoded`格式附加到`action`属性指定的URL后面。例如,如果用户在`name`字段输入`John Doe`,在`email`字段输入`johndoe@example.com`,提交后浏览器会访问类似如下的URL: ``` submit.php?name=John%20Doe&email=johndoe%40example.com ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值