一企业办公系统的源代码进行授权检测,在检查过程中,发现程序员(可能是临时工)使用PHP程序,处理服务端接收客户端传递的数据时,使用的是$_REQUEST[],前端使用的是GET方式,然后就遇到问题了”Request-URI Too Long”。

掌握在浏览器发送数据时、GET、POST两者方式的差异;

不同点:

1、 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放在HTTP包的body中。

2、 GET方式提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST则没有此限制。

3、安全性问题。正如在(1)中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。

4.、服务器取值方式不一样。GET方式取值,如php可以使用$_GET来取得变量的值,而POST方式通过$_POST来获取变量的值。

理解在PHP程序中$_REQUEST、$_GET、$_POST三者之间的区别;

1、$_REQUEST[]具用$_POST[] $_GET[]的功能,但是$_REQUEST[]比较慢。通过POST和GET方法提交的所有数据都可以通过$_REQUEST数组获得

2、$_POST与$_GET的区别

1.GET是从服务器上获取数据,POST是向服务器传送数据

2.GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。POST是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

3. 对于GET方式,服务器端用Request.QueryString获取变量的值,对于POST方式,服务器端用Request.Form获取提交的数据。

4. GET传送的数据量较小,不能大于2KB。POST传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB

5. GET安全性非常低,POST安全性较高

 IE:对URL的最大限制为2083个字符,若超出这个数字,提交按钮没有任何反应。      

Firefox:对Firefox浏览器URL的长度限制为:65536个字符。        Safari:URL最大长度限制为80000个字符。        

Opera:URL最大长度限制为190000个字符。      

Google(chrome):URL最大长度限制为8182个字符。    

Apache(Server):能接受的最大url长度为8192个字符(这个准确度待定???)  

Microsoft Internet Information Server(IIS):n能接受最大url的长度为16384个字符。

通过burp可以修改请求方式

大概就这些。

说点什么
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...