安全性

2.请求安全-- MD5的必要性以及实际应用场景

时光毁灭记忆、已成空白 提交于 2020-01-10 12:04:38
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> #MD5的必要性以及实际应用场景 ##前言 MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。 PS:写这篇文章的本意是把我在工作中使用的MD5加密技巧分享出来,和大家一起交流,可能应为水平有限会有遗漏之处望大家包含,也请大家提出建议我会进一步完善. ##1.MD5算法具有以下特点:## 1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。 2、容易计算:从原数据计算出MD5值很容易。 3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。 4、弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。 5、强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。 根据以上的特定我们能总结出几个根据以上特点衍生出来可以供我们使用的特性: 1.方便存储:MD5加密出来都是32位的字符串,能够给定固定大小的空间存储,传输,验证 2.文件加密:MD5运用在文件加密上很有优势

PHP 使用 $_SERVER['PHP_SELF'] 获取当前页面地址及其安全性问题

守給你的承諾、 提交于 2019-12-04 05:47:48
PHP $_SERVER['PHP_SELF'] $_SERVER['PHP_SELF'] 表示当前 php 文件相对于网站根目录的位置地址,与 document root 相关。 假设我们有如下网址,$_SERVER['PHP_SELF']得到的结果分别为: http://www.ywp.com/php/ :/php/index.php http://www.ywp.com/php/index.php :/php/index.php http://www.ywp.com/php/index.php?test=foo :/php/index.php http://www.ywp.com/php/index.php/test/foo :/php/index.php/test/foo 因此,可以使用 $_SERVER['PHP_SELF'] 很方便的获取当前页面的地址: $url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; 以上面的地址为例,得到的结果如下: http://www.ywp.com/php/index.php 上面是简单获取 http 协议的当前页面 URL ,只是要注意该地址是不包含 URL 中请求的参数(?及后面的字串)的。如果希望得到包含请求参数的完整 URL 地址,请使用 $_SERVER[