面向普通人加密 使用PHP应用程序保护数据

o静待花开灬

o静待花开灬

2016-01-29 12:55

面向普通人加密 使用PHP应用程序保护数据,面向普通人加密 使用PHP应用程序保护数据

在这个日渐虚拟的互联网世界中,您必须小心保护自已的数据。本文将介绍编码和加密一些重要信息(比如密码、信用卡号、甚至整个消息)的基础知识。并通过使用 PHP 的内置功能,了解加密和解密信息的意义,并且将了解一些涉及密码和其他数据的实际示例。
了解当今现实世界与 20 年前的现实世界的不同。在 20 世纪 80 年代,加密是一种特工人员的行为 —— 是您在 Tom Clancy 的侦探小说中才可以读到的情节。如果某人想保持少量私有信息,那么他必须使用密码、密码短语或其他基本方法对数据进行加密。

而现在,加密遍布各个领域。密码也被加密保存在数据库中。电脑空间中的加密的通道可能是通过 SSL、SSH 和其他技术加密的 —— 更不必说拟虚专用网络。人们平常可以而且一定能够使用 Pretty Good Privacy (PGP) 来保护敏感的文件和电子邮件。

作为一名 PHP 开发人员,您应该知道,强有力的安全做法并不是只将安全保护用于独特的应用程序 —— 还可以将其用于您当前从事的项目。用户要树立从一般加密方法(例如,在登录页上的密码字段中不显示明文)过渡到各种高级加密方法(如 DES、MD5、SHA1 和 Blowfish)的意识。

因时间和篇幅所限,这里无法讨论加密的各个方面,但是您将从这里了解涵盖适用于您的多数情况的基本内容。我们通过使用 PHP 内置功能先了解加密和解密信息的意义,进而了解涉及密码和其他数据的一些实际示例。在本文中,加密是在更大的安全上下文中进行讨论的。最后,将介绍其他 PHP 扩展和插件。

加密技术的初级读本

作为希腊的词根资产,加密技术是一种 “神秘编写” 艺术。凯撒密码 是最古老的一种密码,形式也最为简单。它采用明文消息,将字母移动 n 个位置,从而产生暗文。例如:

明文:Veni Vidi Vici
暗文:Xgpk Xkfk Xkek
通过检查暗文并借助一些启发式的技巧,您可以知道,明文实际上是移动了两个字符。凯撒密码很容易破解。例如:检查上述信息,可知 X 重复了多次,且 k 也是如此。这就变成猜迷,确定多少个四字母的词有那样多的元音。知道了这些带元音的词后,您就知道了移动其余字的方法。它还可以帮助您判断明文是否为拉丁文,让您对其有大致的了解。

现代加密技术的功能非常强大,使用了超越统一移动字母和符号的算法。本文不打算详细介绍这些算法,仅介绍一些 PHP 安装,它包括您需要适度(或特别)保持数据安全的所有内容。

不存在 100% 不受攻击的绝对完整的加密方法。大概每隔一个月,一些黑客及其朋友就会集合 1,000 台计算机,在最初的几天里强力进行计算破坏,从而使最新的加密方法崩溃。不过,您可以密封您的系统和数据,不让黑客干扰和非法闯入。他们将在其他地方寻找可乘之机。

了解这些内容之后,让我们转而了解那些受简单登录形式保护的示例 PHP 应用程序。

没有安全保障或加密的 PHP 形式处理

假定您是一位新的 Web 应用程序开发人员,没有更多的机会使用安全功能。您创建了您的第一个应用程序,它可以在专用用户表中存储用户名和密码,但是,您没有对这些密码进行加密。这些密码以一眼就看明白的形式存在,任何人都可以使用它们访问数据库。您可以构建一个如下所示的登录页面。

清单 1. 简单的登录页面

<form action="verify.php" method="post"
<p<label for='username'Username</label
<input type='text' name='username' id='username'/
</p

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

<p<label for='password'Password</label
<input type='text' name='password' id='password'/
</p
<p<input type="submit" name="submit" value="log in"/
</p
</form

HTML 标记存在什么问题?为密码字段选择的输入类型为 text,这意味着用户键入该字段的任何内容都会以明文形式显示在屏幕上。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

您可以方便地将该类型更改为 password,并将该字段中的用户输入替换为一串星号。可靠吗?绝对可靠。不过,这一步骤在很多应用程序中会被忽略。事情虽小,但在安全方面会使人们感到不安。您愿意将钱存入休息大厅的窗口被严重毁坏的银行吗?也许您会。但是您可能更期望银行是完好无损的。对于应用程序来说,道理相同。

让我们继续介绍处理表单提交的 verify.php 文件。

清单 2. 简单的 PHP 登录验证

<?php
 $user = $_POST['user'];
 $pw = $_POST['password'];
 
 $sql = "select user,password from users
  where user='$user'
  and password='$pw'
  limit 1';
 $result = mysql_query($sql);
 
 if (mysql_num

展开更多 50%)
分享

猜你喜欢

面向普通人加密 使用PHP应用程序保护数据

PHP
面向普通人加密 使用PHP应用程序保护数据

普通人的平价护肤

电脑网络
普通人的平价护肤

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

使用SSL保护VNC应用程序

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
使用SSL保护VNC应用程序

使用OOP技术来优化PHP应用程序

PHP
使用OOP技术来优化PHP应用程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

使用 PHP 和 Oracle 开发企业应用程序

PHP
使用 PHP 和 Oracle 开发企业应用程序

使用OLEDB编写数据库应用程序

编程语言 网络编程
使用OLEDB编写数据库应用程序

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Hibernate下数据批量处理

Hibernate下数据批量处理

.NET对软件安装的冲击

.NET对软件安装的冲击
下拉加载更多内容 ↓