php get post 安全性,由php的get post request 想到的安全问题(一)

概述:今天跟RD高工聊天,说到了get/post,进而延伸出了很多安全性的知识,现在总结如下:

1、get、post、request的区别;

2、post安全性较高,如果想更高,可以使用https,进而又想到了https跟http的区别,其中包含了SSL的只是;

3、单纯的https也是不够安全的,所以在登录的时候,会加一个登陆控件,其利用中间的算法,会进一步加密,提高安全等级;

4、如果这时候有人对键盘监听,同样会获取用户的账号跟密码,故会使用软键盘,现在很多银行会使用自己的软键盘,防止用户监听。

以上就是其中讨论的内容,但是由于自己有很多的点不是很懂,故后面几篇文章,会逐个介绍下这些知识点。

一、post get requesst的区别

1、post 跟get的几点不同:

(1)是否修改服务器资源:post 是修改服务器端的内容,get是获取服务器端的内容。get是幂等的,同时由于只获取服务端的信息,在这一点来说,应该是比较“安全”的,最起码不会改变服务器的资源信息。post则会修改服务器上面的资源,如增删改等。

(2)传递URL的方式:post是在http头里面传递参数的,具体在http的entity_body变量中。而get是在url中传递参数的,在url中加问号,将url跟参数列表分开,参数都是采用键值对的方式传递。post参数也是通过键值对来传输的。

(3)使用方式:get在一般场景下都可以使用,但是post必须在表单form里面使用,但是有时候人们会贪图方便,在更新服务器资源时会使用get代替post.

(4)长度限制:http协议没有对数据传输长度做限制,http协议规范也没有对数据传输长度做任何限制。在实际开发中,会做一些限制:

get:特定浏览器和服务器对url有限制,理论上没有限制,其限制取决于操作系统的支持

post:同样没有特定长度的限制,只是服务器会对特定的post长度做限制。

(5)安全性:此处的安全性不同于(1)中所讲的是不是修改服务器资源的问题,而是真正意义上的安全(security)。post会比get安全性更高。通过get提交数据,用户名密码等敏感信息会明文显示在URL中,因为第一、浏览器会有缓存,第二、如果查看历史记录,别人会获取敏感信息,第三、会造成csrf(cross-site request forgery )攻击.

(6)GET表单值可以通过_GET获取;但通过action的url设置的参数总是获取不到的,

跟是一样的,也就是说,在这种情况下,GET方式会忽略action页面后边带的参数列表。POST表单值可以通过_POST获取;但通过action的url参数设置的参数则可以不能通过_POST获取到。action=test.php?id=1这种就是GET方式传值,可以用$_REQUEST和$_GET接受传值,但不能用POST方式获取到值,即使表单是POST方式提交。所在,在提交表单时,如果action中同时有参数,最好只能通过POST表单方式,对于表单内数据,直接通过POST获取,对于action中参数,用GET获取。

(7)在php中,request可以接收post和get信息。

以上信息参考:http://blog.csdn.net/gideal_wang/article/details/4316691

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值