知识大全 如何书写安全的PHP代码[2]

Posted 密码

篇首语:少年击剑更吹箫,剑气箫心一例消。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何书写安全的PHP代码[2]相关的知识,希望对你有一定的参考价值。

如何书写安全的PHP代码[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  所幸的是 这种情况还是很容易避免 通过检查要进入数据库的数据 并删除或取消它们 我们可以防止任何人在这个数据库上执行他们自己的SQL语句 函数的方法如下

function make_safe($variable) $variable = addslashes(trim($variable));return $variable;

  现在 修改了我们的执行语句 用_POST取代上面的执行变量 我们现在把所有的用户数据通过make_safe函数 在以下代码

$username = make_safe($_POST[ username ]);$password = make_safe($_POST[ password ]);$check = mysql_query( Select Username Password UserLevel FROM Users Where Username = $username and Password = $password );

  现在 如果一个用户输入恶意的上述数据 查询看上去像下面这样 是完全无害 以下查询将选择从数据库中的用户都和 \\ or = # 相等的

Select Username Password UserLevel FROM Users Where Username = \\ or = # and Password =

  现在 除非你曾经提供了一个非常特殊的用户名和空白密码 你的恶意攻击者将不能做任何损害的事 像这样检查所有的数据通过你的数据库是非常重要的 尽管你认为这是已经很安全 HTTP头可以由用户伪造 他们参照地址可以伪造 浏览器用户字符串可以伪造 不要信任一条用户发送的数据 虽然 你认为是安全的

  文件操作

  一些现今的网站的URL 是这个样子的

index php?page=contactus

   index php 文件包括 contactus 文件 而且这个网站似乎正常运行 不过 用户可以很容易地将 contactus 改成他们自己喜的东西 举例来说 如果您正在使用Apache的mod_auth去保护文件 并储存你的密码在一个文件名为 htpasswd (传统姓名)里 然后 如果用户访问以下地址 脚本将输出你的用户名和密码

index php?page= htpasswd

  通过改变URL 在某些系统中 在另一个可以运行PHP的服务器去引用文件 害怕? 你应该害怕 再次所幸的是 这是比较容易防范 首先 你必须确保正确设置 open_basedir 在你的php ini文件 并已设置 allow_url_fopen 为 Off 这将阻止大多数这类型的攻击 以保护远程文件和文件系统 其次 如果可以的话 请检查文件要求对有效文件 如果你限制了某些文件可以用这个脚本 你可以节省不少后来恶果

  使用默认

  当mysql是安装 它使用了默认用户的 root 和空白的密码 SQL Server的用途 sa 作为默认的用户和提供了一个空白的密码 如果有人发现你的数据库服务器地址 并想尝试登录 这些都是首次组合 他们会尝试 如果你没有设定不同的密码(最好也和用户 那么你很可能一天一觉醒来发现你的数据库已经被删除 所有用户号码被盗 和所有软件一样 你如果使用的软件是默认用户名和密码 改变他们

  不要让安装文件在线

  很多PHP项目用安装文件来安装 其中有不少是一旦运行就自我删除的 但许多不是这样的 直到您删除安装文件 如果让安装文件在线请注 他们可能仍然可用 有人可以用它来复盖你的整个网站

  预见性

  试想一下 你的网站让一个坏人盯上 这个坏的人要打破你的管理区 改变你的所有产品的描述如 这个产品很差劲 我猜测 他们首先会去// yoursite /admin/ 万一它存在 将你的敏感文件和文件夹像预测一样 他们很容易就受到黑客攻击

  为此 要确保你的姓名你的敏感文件和文件夹 让他们很难猜测 把你的 admin 位于// yoursite /jsfh sfsifuhsi / 或者更难去写的 但它为你的网站添加一些额外的保障 如果你需要一个记得快的地址 但不用 admin 或 administration (或你的用户名和密码) 用一些不经常用的

  这同样适用于用户名和密码 如果你有管理区 不要使用 admin 作为用户名和 password 作为密码 针对一些特殊的情况 最好是两个字母和数字(有的黑客利用一些所谓的 词典攻击 尝试每一个字 在字典里的密码 直到他们找到密码 添加一对密码 使这一类攻击无用) 这也是明智的去定期改变你的密码 (每两个月) 最后 要确保当一个用户名输入 Wrong Password 当错误的密码输入时你的错误讯息给没有输出 如 Unknown Username 恶意用户都知道 他们已经成功地猜测一个有效的用户名 对上述两种手段 采用通用的 登录错误 的错误信息 如果是用户名和密码输入错误的恶意用户就没有任何办法设想正确的用户和密码

  最后 彻底和完全地设想

  你假设你的网站不会受到攻击 或面要对任何问题的话 但当最终出事 你将有大量的麻烦 如果 在另一方面 假设你的每一个客人到你的网站是为了攻击你 你永远处于战争状态 你就能帮助你把你的网站做得安全 并准备得没有一点闪失

cha138/Article/program/PHP/201311/21435

相关参考

知识大全 PHP 安全检测代码片段(分享)

PHP安全检测代码片段(分享)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本篇文章是对PHP安全

知识大全 11种php编程典型安全隐患及处理

  PHP本身再老版本有一些问题比如在php和php以前有一些比较严重的bug所以推荐使用新版另外目前闹的轰轰烈烈的SQLInjection也是在PHP上有很多利用方式所以要保证安全PHP代码编写是一

知识大全 PHP文件上传代码用法

PHP文件上传代码用法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  php文件上传代码编写过程

知识大全 php记录代码执行时间(实现代码)

 复制代码代码如下:$t=microtime(true);//执行代码$t=microtime(true);echo耗时round($t$t)秒;cha138/Article/pr

知识大全 php ios推送(代码)

本篇文章是对phpios推送进行了详细的分析介绍需要的朋友参考下 复制代码代码如下:cha138/Article/program/PHP/201311/20950

知识大全 javascript中可以直接写php代码

  一在javascript中嵌入php代码  javascript若是通过js文件包含进来的那么js文件中也可以直接写php代码只不过包含js文件是扩展名要改成php如  <scripther

知识大全 PHP随机获得字符代码

PHP随机获得字符代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!<?php//获取随机字

知识大全 界定PHP代码

PHPWeb开发学习实录:界定PHP代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第章PH

知识大全 20个实用PHP实例代码

20个实用PHP实例代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!     PHP可

知识大全 javascript中直接写php代码的方法

这篇文章介绍了javascript中直接写php代码的方法有需要的朋友可以参考一下   一在javascript中嵌入php代码javascript若是通过js文件包含进来的那么js文件中也