PHP对表单提交特殊字符的过滤和处理方法汇总

PHP关于表单提交特殊字符的处理方法做个汇总,主要涉及htmlspecialchars/addslashes/stripslashes/strip_tags/mysql_real_escape_string等几个函数联合使用,与大家共同交流。

一、几个与特殊字符处理有关的PHP函数














































函数名

释义

介绍

htmlspecialchars

将与、单双引号、大于和小于号化成HTML格式

&转成&
"转成"
' 转成'
<转成<
>转成>

htmlentities()

所有字符都转成HTML格式

除上面htmlspecialchars字符外,还包括双字节字符显示成编码等。







addslashes

单双引号、反斜线及NULL加上反斜线转义

被改的字符包括单引号(')、双引号(")、反斜线backslash (\) 以及空字符NULL。

stripslashes

去掉反斜线字符

去掉字符串中的反斜线字符。若是连续二个反斜线,则去掉一个,留下一个。若只有一个反斜线,就直接去掉。







quotemeta

加入引用符号

将字符串中含有. \\ + * ? [ ^ ] ( $ ) 等字符的前面加入反斜线"\" 符号。

nl2br()

将换行字符转成



strip_tags

去掉HTML及PHP标记

去掉字符串中任何HTML标记和PHP标记,包括标记封堵之间的内容。注意如果字符串HTML及PHP标签存在错误,也会返回错误。

mysql_real_escape_string

转义SQL字符串中的特殊字符

转义\x00 \n \r 空格 \ ' " \x1a,针对多字节字符处理很有效。mysql_real_escape_string会判断字符集,mysql_escape_string则不用考虑。

(0)

相关推荐

  • php防止用户重复提交表单

    我们提交表单的时候,不能忽视的一个限制是防止用户重复提交表单,因为有可能用户连续点击了提交按钮或者是攻击者恶意提交数据,那么我们在提交数据后的处理如修改或添加数据到数据库时就会惹上麻烦. 效果图: 那么如何规避这中重复提交表单的现象出现呢?我们可以从很多方面入手: 首先从前端做限制.前端JavaScript在按钮被点击一次后禁用,即disabled,这个方法简单的防止了多次点击提交按钮,但是缺点是如果用户禁用了javascript脚本则失效. 第二,我们可以在提交后做redirect页面重定向,

  • 浅谈php提交form表单

    处理GET请求 实现的功能是输入姓名后页面显示"Hello XXX" 创建html文件hello.html: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>欢迎</title> </head> <body> <form action="hell

  • php表单加入Token防止重复提交的方法分析

    本文实例讲述了php表单加入Token防止重复提交的方法.分享给大家供大家参考,具体如下: Token浅谈 Token,就是令牌,最大的特点就是随机性,不可预测.一般黑客或软件无法猜测出来. 那么,Token有什么作用?又是什么原理呢? Token一般用在两个地方--防止表单重复提交.anti csrf攻击(跨站点请求伪造). 两者在原理上都是通过session token来实现的.当客户端请求页面时,服务器会生成一个随机数Token,并且将Token放置到session当中,然后将Token发

  • 表单提交错误后返回内容消失问题的解决方法(PHP网站)

    表单提交错误后返回内容消失怎么办呐,今天就来分析解决一下这个问题. 状况概述: 做填写表单信息提交的时候会碰到一个问题就是当用户填写并提交表单后,程序判断不符合要求并返回,返回之后之前填写的表单信息会被清空了的情况.如果填写的信息量少还无所谓,如果填写的信息量比较多,这会直接打击到填写信息的人的良好心情.因此解决表单提交错误返回后填写的内容消失的问题是一个提高用户体验度的迫在眉睫的问题. 对于这种问题,综合总结了大概有下面几种情况: (1)页面使用了session_start函数,这个函数有个特

  • PHP实现表单提交时去除斜杠的方法

    本文实例讲述了PHP实现表单提交时去除斜杠的方法.分享给大家供大家参考,具体如下: <html> <head> <title>HTML 表单</title> </head> <body> <form action="" method="POST"> 请输入一个字符串: <input type="text" size="30" name=&

  • php过滤表单提交的html等危险代码

    PHP过滤提交表单的html代码里可能有被利用引入外部危险内容的代码.例如,有些时候用户提交表单中含有html内容,但这可能造成显示页面布局混乱,需要过滤掉. 方法一: 复制代码 代码如下: //get post data  function PostGet($str,$post=0)  {   empty($str)?die('para is null'.$str.'!'):'';     if( $post )   {    if( get_magic_quotes_gpc() )    {

  • AJAX PHP无刷新form表单提交的简单实现(推荐)

    ajax.php: <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <script language="javascript"> function saveUserInfo() { //获取

  • php 防止表单重复提交两种实现方法

    php 防止表单重复提交 由于网络原因,经常出来点了提交按钮,网页没有反应,而进行再次点击.这样就导致后台收到两次提交,从而进行两次处理,本文章向大家介绍php 防止表单重复提交的几种方法 1.前端解决 方法一: 可以通过前端来解决.当用户点了提交按钮之后,先使用js进行有效性判断,没问题后,将提交按钮"禁用"掉.然后再提交! 方法二: 使用ajax提交表单.点了提交按钮后,禁用提将按钮,或者设置一个状态值,将其设为1,表示正在提交.再提交时判断如果正在提交,则不作处理.等ajax返回

  • php实现过滤表单提交中html标签的方法

    本文实例讲述了php实现过滤表单提交中html标签的方法.分享给大家供大家参考.具体实现方法如下: 有时候我们做的简单评论功能会发现有提交很多的html标签,这些标签会导致页面有一些外连的情况,下面我们一起来看在php中过滤表单提交的html标签方法. 近评论中有一些机器人提交的post链接,都是一些垃圾评论.为了减少这种无谓的链接内容出现,其实是可以用php来删除表单POST提交的html标签,这样机器提交的信息也不会得到他们要的结果.而且可以减少来自seo/seo.html" target=

  • php表单敏感字符过滤类

    本文实例讲述了php表单敏感字符过滤类及其用法.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: /** * 表单生成验证文件 */ $_form = new formHtmlFind(); class formHtmlFind{         /**          * 输出表单函数          * $formKey  表单键          * $infoArray 更新时的原始信息数组          */           public function for

  • php实现表单多按钮提交action的处理方法

    表单内有两个提交按钮,要实现当点击不同的提交按钮时,分别进行两个不同的处理过程,在这里有实现表单多按钮提交action的处理方法分享给大家. 用PHP判断,一个表单两个按钮,按钮的name属性设为相同,但值设为不同,表单提交后,只需要判断提交上来的值就可以转到不同的处理过程去,这个方法比较合理,适合多个按钮在一个表单里. PHP方法,代码如下: <?php echo "$sub<br>\n"; if ("s1"==$sub) { ... } els

随机推荐