5.6上课总结

acion='1.php' method='[get|post]',这个属性的意义就是只能1.php这个脚本调用$_POST['name'],$_GET['name']可以使用,说明$_POST['name']和$_GET['name']这两个超全局,或着叫预定义变量,只是用来临时传输数据的。这时,我们就可以引用这个二维数组$_COOKIE[][]和$_SESSION[][]来长时间存储数据。

这样就解决了除了1.php文件,2.php啊什么的也可以用用户传输过来的账户和密码,实现了数据的共享。

问真的只能1.php用吗?

是的,因为参数在submit后就传到1.php里了,其他的根本收不到

为什么要用session?你说,有cookie来解决无状态的问题了,为什么还要用session呢?

1,安全问题,session保存在服务器,cookie在客户端,相对来说更安全,至少不会像cookie会泄露

真的不会泄露吗?cookie里面存的sessionid,这不能拿来用吗?

哦对了,可以用数字签名和数字证书

数字签名:主要是为了解决,是否时本人?是否看过这个文件?——》是否是本人看过这个文件?这样就能确认这个文件是‘本人’认证过的。

方法:自己(甲)生成公私钥对,公钥发给乙,私钥自己留着。这时,我们给乙发文件,甲用私钥加密,乙用公钥解密,这样把保证了是甲发的;对于文件中的数据用乙的公钥加密,乙用私钥进行解密,这样保证了安全性。

危险:但是中间人可以把文件截取下来,用甲的公钥解密后!用自己的私钥加密,再以自己的身份(我不确定)发送给乙,乙用中间人的公钥解密(乙和中间人之间联系过,所以乙也有中间人的公钥),这样就危险了,因为这样,乙对甲回复的时候,找的是中间人,并且用的也是中间人的公钥加密的文件,这样中间人就能收到信息了。

 

数字证书:主要解决上述问题

方法:有一个权威机构CA来颁发证书,这个权威机构会收到甲的一些信息,包括甲的公私钥对,CA就用自己的私钥对甲的信息进行加密,作为数字证书并发给甲,这样以后甲发送时,携带这个证书。这样就解决问题了吗?中间人就不会伪造CA的公私钥对了吗?当让伪造不了,我们安装浏览器的时候,CA的公钥一并装上了,所以伪造是可以看出来的。

2.数据传输大小问题,session传输时只需要sessionid对就行,所以第一次传输cookie,建立过会话之后,就不用每次再使用token去验证身份了。可以看出传输的东西就变少了。

cookie中有token来验证身份,和sessionid来建立会话,会话会再结束和开始建立联系时进行更新

怎么关闭session?

1.超时处理(默认24min),但这时旧的sessionid还存在。

2.手动关闭

301和302都是重定向

301——文件永久移动,找不着了

302——location字段里返回临时的url,找到了,但是时临时的

401——未授权=没登陆=没令牌

403——无权限

404——找不到

为什么url中空格不能出现,因为url按空格进行分割,%20,+

问:传输变量怎么传输,如int a=10;

序列化和反序列化,代码审计用,将数据编码到硬盘里

整体传输

概念:我们把变量从内存中变成可存储或传输的过程称之为序列化。

存在的原因:对变量进行永久性存储(所以对于对象来说,序列化只对变量数据(不包括常数)序列化,不对方法,即函数序列化)

序列化的作用:在传递和保存对象时.保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。

2.表示方式

数组的表示方式

a是数组:3表示元素个数:{<key1>;<value1>;<key2>;<value2>;.....}

<key1>——>i表示整形:0表示值的索引;

<value1>——>s表示值的类型:1表示值的个数:"a"表示参数;

 下表是各个参数类型的意思,主要用到的就是O和a,也包含了某一个准确值的属性

 对于对象序列化我没有实列

 

3.漏洞就是可以被序列化会被恶意修改,weakup漏洞绕过

解决方法就是重要信息不进行序列化,按原状态进行保存

gbk2312

0+7位——ASCII的英文字符

0+15位——汉字,即两个字节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值