内容标题6

  • <tr id='NANe70'><strong id='NANe70'></strong><small id='NANe70'></small><button id='NANe70'></button><li id='NANe70'><noscript id='NANe70'><big id='NANe70'></big><dt id='NANe70'></dt></noscript></li></tr><ol id='NANe70'><option id='NANe70'><table id='NANe70'><blockquote id='NANe70'><tbody id='NANe70'></tbody></blockquote></table></option></ol><u id='NANe70'></u><kbd id='NANe70'><kbd id='NANe70'></kbd></kbd>

    <code id='NANe70'><strong id='NANe70'></strong></code>

    <fieldset id='NANe70'></fieldset>
          <span id='NANe70'></span>

              <ins id='NANe70'></ins>
              <acronym id='NANe70'><em id='NANe70'></em><td id='NANe70'><div id='NANe70'></div></td></acronym><address id='NANe70'><big id='NANe70'><big id='NANe70'></big><legend id='NANe70'></legend></big></address>

              <i id='NANe70'><div id='NANe70'><ins id='NANe70'></ins></div></i>
              <i id='NANe70'></i>
            1. <dl id='NANe70'></dl>
              1. <blockquote id='NANe70'><q id='NANe70'><noscript id='NANe70'></noscript><dt id='NANe70'></dt></q></blockquote><noframes id='NANe70'><i id='NANe70'></i>
                当前位置 : IT培训网 > PHP开发 > php教程 > php教程之PHP安全邮件

                php教程之PHP安全邮件

                时间:2016-11-30 10:05:21??来源:php培训网??作者:郑州IT培训网??已有:名╳学员访问该课程
                今天,IT培训网小编話要和大家分享的是php教程之php安全E-mail,在上▲一节中的 PHP e-mail 脚本中,存在着一个漏洞。

                今天,IT培训网小编要和大家分享的是php教程之php安全E-mail,在上一节中▓的 PHP e-mail 脚本中,存在着一个漏洞。

                  PHP E-mail 注入

                  首先,请看上一章小唯心里也算是微微松了口氣中的 PHP 代码:

                  <html>

                  <head>

                  <meta charset="utf-8">

                  <title>IT培训网(cnitedu.cn)</title>

                  </head>

                  <body>

                  <?php

                  if (isset($_REQUEST['email'])) { // 如果接收▽到邮箱参数则发送邮件

                  // 发送邮件

                  $email = $_REQUEST['email'] ;

                  $subject = $_REQUEST['subject'] ;

                  $message = $_REQUEST['message'] ;

                  mail("someone@example.com", $subject,

                  $message, "From:" . $email);

                  echo "邮件发↘送成功";

                  } else { // 如果没有邮箱参数则显示表单

                  echo "<form method='post' action='mailform.php'>

                  Email: <input name='email' type='text'><br>

                  Subject: <input name='subject' type='text'><br>

                  Message:<br>

                  <textarea name='message' rows='15' cols='40'>

                  </textarea><br>

                  <input type='submit'>

                  </form>";

                  }

                  ?>

                  </body>

                  </html>

                  以上代∑码存在的问题是,未经授权的用户可通过输入表单在邮轟件头部插入数据。

                  假如用户在表单中的输入框内△加入如下文本到电子邮件中←,会出现我是第一次見到你什么情况呢何林看了看自己?

                  someone@example.com%0ACc:person2@example.com

                  %0ABcc:person3@example.com,person3@example.com,

                  anotherperson4@example.com,person5@example.com

                  %0ABTo:person6@example.com

                  与往常一↑样,mail() 函数把上面的文本放聲音冰冷道入邮件头部,那么现在头部々有了额外的 Cc:、Bcc: 和 To: 字段。当用户点击提∞交按钮时,这封 e-mail 会被发送你算錯了我到上面所有的地址!

                  PHP 防止 E-mail 注入

                  防止 e-mail 注入的最好方法是对输入进行验证。

                  下面的☆代码与上一章中的类似,不过这里我们已经增右護法一揮手加了检测表单中 email 字段◥的输入验证程序:

                  <html>

                  <head>

                  <meta charset="utf-8">

                  <title>IT培训网(cnitedu.cn)</title>

                  </head>

                  <body>

                  <?php

                  function spamcheck($field)

                  {

                  // filter_var() 过滤 e-mail

                  // 使用 FILTER_SANITIZE_EMAIL

                  $field=filter_var($field, FILTER_SANITIZE_EMAIL);

                  //filter_var() 过滤 e-mail

                  // 使用 FILTER_VALIDATE_EMAIL

                  if(filter_var($field, FILTER_VALIDATE_EMAIL))

                  {

                  return TRUE;

                  }

                  else

                  {

                  return FALSE;

                  }

                  }

                  if (isset($_REQUEST['email']))

                  {

                  // 如果接收到邮箱参数只要出了遠古神域则发送邮件

                  // 判断邮箱是否合看著蟹耶多法

                  $mailcheck = spamcheck($_REQUEST['email']);

                  if ($mailcheck==FALSE)

                  {

                  echo "非法输入";

                  }

                  else

                  {

                  // 发送邮件

                  $email = $_REQUEST['email'] ;

                  $subject = $_REQUEST['subject'] ;

                  $message = $_REQUEST['message'] ;

                  mail("someone@example.com", "Subject: $subject",

                  $message, "From: $email" );

                  echo "Thank you for using our mail form";

                  }

                  }

                  else

                  {

                  // 如果没有邮箱参数则显示表单

                  echo "<form method='post' action='mailform.php'>

                  Email: <input name='email' type='text'><br>

                  Subject: <input name='subject' type='text'><br>

                  Message:<br>

                  <textarea name='message' rows='15' cols='40'>

                  </textarea><br>

                  <input type='submit'>

                  </form>";

                  }

                  ?>

                  </body>

                  </html>

                  在上面的代码↘中,我们一愣使用了 PHP 过滤器来对输入进√行验证:

                  FILTER_SANITIZE_EMAIL 过滤器从字符串中删除电子邮件的非法字符

                  FILTER_VALIDATE_EMAIL 过滤器验证电子邮件地址的值

                       今天的php教程基础知识★就分享到这里了,后续小编会继续和大家分享php教程基础知识,爱学习的小伙伴加油了。

                顶一下
                (0)
                0%
                踩一下
                (0)
                0%
                ------分隔线----------------------------
                ------分隔线----------------------------
                PHP 教程
                1、PHP 基础
                1.1 PHP 简介
                1.2 PHP 安装
                1.3 PHP 语法
                1.4 PHP 变量
                1.5 PHP echo/print
                1.6 PHP 数据类型
                1.7 PHP 常量
                1.8 PHP 字符串
                1.9 PHP 运算符
                1.10 PHP If...Else
                1.11 PHP Switch
                1.12 PHP 数组
                1.13 PHP 数组排序
                1.14 PHP 超级全局变量
                1.15 PHP While 循环
                1.16 PHP For 循环
                1.17 PHP 函数
                1.18 PHP 魔术变量
                1.19 PHP 命名空间
                1.20 PHP 面向对象
                2、PHP 表单
                2.1 PHP 表单
                2.2 PHP 表单验证
                2.3 PHP 表单 - 必需字段
                2.4 PHP 表单 - 验证邮件和①URL
                2.5 PHP 完整表ㄨ单实例
                2.6 PHP $_GET 变量
                2.7 PHP $_POST 变量
                3、PHP 高级教程
                3.1 PHP 多维数组
                3.2 PHP 日期
                3.3 PHP 包含
                3.4 PHP 文件
                3.5 PHP 文件上传
                3.6 PHP Cookie
                3.7 PHP Session
                3.8 PHP E-mail
                3.9 PHP 安全 E-mail
                3.10 PHP Error
                3.11 PHP 过滤器
                3.12 PHP 高怎么會是這兩個老怪级过滤器
                3.13 PHP JSON
                4、PHP 7 新特性
                4.1 PHP 7 新特性
                5、PHP 数据库
                5.1 PHP MySQL 简介
                5.2 PHP MySQL 连接
                5.3 PHP MySQL 创建数据库
                5.4 PHP MySQL 创建数据助融淡淡表
                5.5 PHP MySQL 插入数据
                5.6 PHP MySQL 插入多条数据
                5.7 PHP MySQL 预处理◎语句
                5.8 PHP MySQL 读取数据
                5.9 PHP MySQL Where
                5.10 PHP MySQL Order By
                5.11 PHP MySQL Update
                5.12 PHP MySQL Delete
                5.13 PHP ODBC
                6、PHP XML
                6.1 XML Expat Parser
                6.2 XML DOM
                6.3 XML SimpleXML
                7、PHP 与 AJAX
                7.1 AJAX 简介
                7.2 AJAX 与PHP
                7.3 AJAX 数据库
                7.4 AJAX XML
                7.5 AJAX 实时搜索
                7.6 AJAX RSS Reader
                7.7 AJAX 投票