Home > php教程 > php手册 > php5与mysql5 web 开发技术详解-6 表单-处理用户输入

php5与mysql5 web 开发技术详解-6 表单-处理用户输入

WBOY
Release: 2016-06-13 10:55:17
Original
1258 people have browsed it

创建和处理表单是web开发者的一个重要能力指标,本章梳理下重点。

1、GET和POST的区别

      GET方法不支持ASCII字符之外的任何字符,需要编码操作(url_encode(),url_decode()),有的浏览器可自动完成。

2、表单元素

     常用的十几个牢记即可,暂不表述。

     

 

3、检查提交来源

      来源: $ref =  $_SERVER['HTTP_REFERER']

      服务器地址: $srv  =  {$_SERVER['SERVER_NAME']}  {$_SERVER['PHP_SELF']}  

      if( strcmp($ref ,$srv) == 0  )  安全

 

4、多页面传递数据

     三种方案:

         表单隐含元素

         数据保存在session

          数据保存在数据库

 

5、验证表单数据

      不要指望用户按我们的意愿输入数据,需要我们在客户端和服务器端验证。

      避免表单重复提交几个方案:

   (1) 客户端js

            (2)cookie

             (3)session

             (4)header()函数转向

       表单过期的处理(避免错误提交后返回页面数据丢失)

 

6、表单安全

      预防XSS攻击:www.2cto.com

          htmlspecialchars()    先对 ‘  “     &  做html编码

          htmlentitles()  转换任意的html超文本实体,主要是过滤输出(过滤js脚步标签) 

          strip_tags() 去除任何的html代码

          每当权限级别变化时,用 session_regenerate_id ()  改变sessionid 。

       预防sql 注入:

           mysql_escape_sstring()

           mysql_real_escape_sstring()

7、开发安全的代码

      用户输入验证

      高级验证 ctype

      数据过滤 - pecl  filter扩展

      input_get()

      文件路径检测

      魔法引用 magic_quote_gpc  ,不提倡该法

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template