面向普通人加密 使用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 个位置,从而产生暗文。例如:

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

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

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

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

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

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

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

清单 1. 简单的登录页面

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

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

<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,这意味着用户键入该字段的任何内容都会以明文形式显示在屏幕上。

您可以方便地将该类型更改为 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应用程序保护数据

使用SSL保护VNC应用程序

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

s8lol主宰符文怎么配

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

普通人的平价护肤

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

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

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

lol偷钱流符文搭配推荐

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

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

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

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

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

lolAD刺客新符文搭配推荐

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

Hibernate下数据批量处理

Hibernate下数据批量处理

.NET对软件安装的冲击

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