好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php过滤表单提交 php过滤函数

很多站长朋友们都不太清楚php过滤表单提交,今天小编就来给大家整理php过滤表单提交,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 thinkphp提交带有style标签的表单都会过滤掉,可以让他不过滤吗? 2、 过滤form表单内提交的input,比如说input value="" 可能被人恶意的在里面写php语法。 3、 高分求php表单过滤代码。 4、 ThinkPHP获取表单提交过来的账户输入的数据,我是不是要做一些过滤 5、 php避免form表单重复提交 thinkphp提交带有style标签的表单都会过滤掉,可以让他不过滤吗?

提交时用escape把字符串编码,输出时unescape再解码

自己百度html实体字符,进行替换

修改php

比较推荐1,而且编码之前可以自己把危险标签去掉,比如iframe和script

1,2用js在表单的onsubmit里完成

过滤form表单内提交的input,比如说input value="" 可能被人恶意的在里面写php语法。

<?替换成< 追问: <?php /** * 安全过滤函数 * * @param $string * @return string */ function safe_replace($string) { $string = str_replace('%20','',$string); $string = str_replace('%27','',$string); $string = str_replace('%2527','',$string); $string = str_replace('*','',$string); $string = str_replace('"','"',$string); $string = str_replace("'",'',$string); $string = str_replace('"','',$string); $string = str_replace(';','',$string); $string = str_replace('<','<',$string); $string = str_replace('>','>',$string); $string = str_replace("{",'',$string); $string = str_replace('}','',$string); $string = str_replace('','',$string); return $string; } ?> 找到了,不过就你回答了。分给你吧

高分求php表单过滤代码。

要防止sql注入,过滤表单输入固然重要,但还需要从其他方面一起入手

屏蔽用户输入特殊字符的实质是,禁止用户利用程序漏洞拼装出一些我们不想让用户执行的SQL

例如:

$sql = "SELECT * FROM table WHERE user='$_POST['user']' AND password='$_POST['pwd']'";

用户输入

$_POST['user'] = 'john';

$_POST['pwd'] = "' OR ''='";

要么实际执行的sql就是

SELECT * FROM table WHERE user='john' AND password='' OR ''=''

所以我们要对用户的输入做出处理,避免这种情况的发生

对于表单输入,必要的过滤是需要的,对于每一个输入可以写一个function来筛一下

例如:

$user_name = clean($_POST['user']);

function clean($v){

    if (get_magic_quotes_gpc()){

        $v = stripslashes($v);

    }

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

    $v = mysql_real_escape_string($v);

    return $v;

}

至于内容中包含一些sql的关键字,其实不用太过紧张,但是在sql语句中必须处理

例如:

INSERT INTO table VALUES ('xxx', 'xxx', 'xxx')

要保证每个值都被单引号包起来

SELECT,UPDATE,DELETE中的WHERE条件也是如此,但凡以用户输入的部分作为参数的,都得用单引号括起来,这样就能有效防止sql注入

ThinkPHP获取表单提交过来的账户输入的数据,我是不是要做一些过滤

表单提交过来的数据要进行数据库操作的话是必须要尽心字符过滤的,防止SQL注入,保证数据安全

php避免form表单重复提交

php避免form表单重复提交

重复提交我们在php中的防止方法许多最常用的就是数据库限制了,当然也有可以直接在客户端进行限制了,具体的来看php重复提交防止示例会有哪些呢?

下面的情况就会导致表单重复提交:

点击提交按钮两次。

点击刷新按钮。

使用浏览器后退按钮重复之前的操作,导致重复提交表单。

使用浏览器历史记录重复提交表单。

浏览器重复的HTTP请求。

网页被恶意刷新。

下面是几种解决办法:

一:利用js设置按钮点击后变成灰色

<form name=form1 method=”POST” action=”/” target=_blank>

<p>

<input type=”text” name=”T1″ size=”20″>

<input type=”button” value=”提交” onclick=”javascript:{this.disabled=true;document.form1.submit();}”>

</p>

</form>

点击完按钮之后变成灰色就不能点击了,用户需要再次提交表单的话就要刷新页面之后重新填写数据再提交了。

二:利用session

在session中???放一个特殊标志。当表单页面被请求时,生成一个特殊的字符标志串,存在session中,同时放在表单的隐藏域里。接受处理表单数据时,检查标识字串是否存在,并立即从session中删除它,然后正常处理数据。

如果发现表单提交里没有有效的.标志串,这说明表单已经被提交过了,忽略这次提交。

这使你的web应用有了更高级的XSRF保护

加载提交的页面时候,生成一个随机数,

$code = mt_rand(0,1000000);

存储在表单的隐藏输入框中:

< input type=”hidden” name=”code” value=””>

在接收页面的PHP代码如下:

<?php

session_start();

if(isset($_POST[‘code’])) {

if($_POST[‘code’] == $_SESSION[‘code’]){

// 重复提交表单了

}else{

$_SESSION[‘code’] =$_POST[‘code’]; //存储code

}

}?>

三:利用cookies

原理和session差不多,但是cookies一旦用户浏览器禁用cookies,这功能就失效了

if(isset($_POST[‘submit’])){

setcookie(“tempcookie”,””,time()+30);

header(“Location:”.$_SERVER[PHP_SELF]);exit();

}

if(isset($_COOKIE[“tempcookie”])){

setcookie(“tempcookie”,””,0);echo “您已经提交过表单”;

}

四:利用header函数跳转

一旦用户点击提交按钮,处理完数据后跳到其他页面

if (isset($_POST[‘submit’])) {

header(‘location:success.php’);//处理数据后,转向到其他页面

}

五:利用数据库来添加约束

直接在数据库里添加唯一约束或创建唯一索引,一旦发现用户重复提交了,直接抛出警告或者提示,或者只处理第一次提交的数据,这是最直接有效的方法,要求前期的数据库设计和架构要考虑周全.

六:Post/Redirect/Get模式

在提交后执行页面重定向,这就是所谓的Post-Redirect-Get (PRG)模式。简言之,当用户提交了表单后,你去执行一个客户端的重定向,转到提交成功信息页面。

if (isset($_POST[‘action’]) $_POST[‘action’] == ‘submitted’) {

//处理数据,如插入数据后,立即转向到其他页面

header(‘location:submits_success.php’);

}

这能避免用户按F5导致的重复提交,而其也不会出现浏览器表单重复提交的警告,也能消除按浏览器前进和后退按导致的同样问题。

;

关于php过滤表单提交的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php过滤表单提交 php过滤函数的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did195941
更新时间:2023-04-26   阅读:20次

上一篇: php删掉参数 php删除

下一篇:php数据出pdf phpspreadsheet

最新资料更新

  • 1.php怎样打开url php链接怎么打开
  • 2.form居中显示php form居中显示
  • 3.php新浪微博开发 微博开发工具
  • 4.php后端需要css吗 php后端教程
  • 5.php瀑布流响应 html 瀑布流
  • 6.php底层c源码 php底层是用c写的吗
  • 7.web安全php Web安全原理分析与实践
  • 8.php7.1des加密 php7 加密
  • 9.php是否为post的简单介绍
  • 10.php网络通信 php通信协议
  • 11.php半角全角 全角半角字符切换
  • 12.php方法前加 php变量前后加点
  • 13.php构造方法重写 php 构造方法
  • 14.php求100的质数 php求出1100的素数
  • 15.php项目基本流程 php项目如何运行
  • 16.php压缩上传的图片 php上传图片文件
  • 17.php判断是否为蜘蛛 php怎么判断是不是数字
  • 18.php数据导出csv php导出大量数据
  • 19.PHP添加日期代码 php年月日时间代码
  • 20.php怎么使用css php怎么使用数据库锁

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]