PHP网站中整体防注入方法

news/2024/4/27 18:43:26/文章来源:https://blog.csdn.net/hejishan/article/details/2251077

PHP网站中整体防注入方法

/*
 * Author: heiyeluren
 * Date: 2005-7-20
 * Blog: http://blog.csdn.net/heiyeshuwu
*/

今天写代码的时候猛然想到是不能能够通过一个文件来处理整个网站中所有可能出现注入的地方进行防范呢?这样就能够不用在每个程序里对每个变量进行过滤,节省了时间和代码。

我们主要是从两点出发,因为我们的获取的变量一般都是通过GET或者POST方式提交过来的,那么我们只要对GET和POST过来的变量进行过滤,那么就能够达到防止注入的效果。而且我们的PHP真是非常好,已经内置了$_GET和$_POST两个数组来存储所有变量,我们要做的工作就是过滤每个变量就可以了。

下面看具体的代码:

/* Author: heiyeluren */
/* 过滤所有GET过来变量 */
foreach ($_GET as $get_key=>$get_var)
{
    if (is_numeric($get_var))
 if (is_numeric($get_var)) {
  $get[strtolower($get_key)] = get_int($get_var);
 } else {
  $get[strtolower($get_key)] = get_str($get_var);
 }
}

/* 过滤所有POST过来的变量 */
foreach ($_POST as $post_key=>$post_var)
{
 if (is_numeric($post_var)) {
  $post[strtolower($post_key)] = get_int($post_var);
 } else {
  $post[strtolower($post_key)] = get_str($post_var);
 }
}

/* 过滤函数 */
//整型过滤函数
function get_int($number)
{
    return intval($number);
}
//字符串型过滤函数
function get_str($string)
{
    if (!get_magic_quotes_gpc()) {
 return addslashes($string);
    }
    return $string;
}

那么我们把以上代码放到一个公共的文件里,比如security.inc.php里面,每个文件里都include一下这个文件,那么就能够给任何一个程序进行提交的所有变量进行过滤了,就达到了我们一劳永逸的效果。

另外,还有一些其他的过滤方法,比如采用我以前使用的关键字过滤的方法:http://dev.csdn.net/article/71/71475.shtm
还可以参考三尺寒冰写的方法:http://www.fanghei.com/html/2005-06/20050607114008.htm

方法是不同的,但是核心就是为了我们的代码更加安全。

Author: heiyeluren
Date: 2005-7-20




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_818908.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐几个好玩又有难度的编程网站

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!推荐几个好玩又有难度的编程网站作者&#x…

Red Hat推出”MugShot”社交娱乐网站

网址: http://mugshot.org/Red Hat近来推出”MugShot”网站, MugShot是一个致力于在线社交娱乐的开源项目. 它提供了更方便的网页和音乐分享. 当前MugShot处于测试阶段, 只提供邀请帐号. 你可以从这里申请. 更多信息见常见问题和开发主页.欢迎任何问题和建议.

Google 联合一些社交网站来对抗 facebook

谷歌(Google) 将与其它一些行业领先的社交网站联手,共同对抗互联网新贵Facebook。  谷歌将于周四推出一个通用标准集 ( OpenSocial ),允许软件开发者为谷歌旗下社交网站Orkut,以及LinkedIn、hi5、Friendster、Plaxo和Ning等其它社交网站开…

我在建站过程中的一点心得体会

原创文章请认准:主网站  微笑涛声     作者其他平台: CSDN    简书    开源中国    思否 所有的努力,不是为了让别人觉得你了不起,而是为了能让自己打心里看得起自己,人生的奔跑,不在于瞬…

SEO优化:Sitemap插件生成WordPress网站地图

▣ 前言 什么是sitemap网站地图?wordpress如何自动生成sitemap地图文件呢? 对于网站建设来说,网站地图是非常关键的,因为这对搜索引擎收录是很有利的。网上有很多方法介绍sitemap网站地图的制作。大体分为两种,一种是自…

建站分享:调整WordPress自带标签云参数

▣ 博主主站地址:微笑涛声 【www.cztcms.cn】 ▣ 博主其他平台: CSDN 简书 开源中国 思否 华为云博客 WordPress 自带的标签云是一个很实用的小工具。站长可以通过标签对具有相同关健词的文章进行检索分类,利于访客查找相关文章。 WordPress标签默认显…

建站分享:WordPress自定义网站背景图片

▣ 博主主站地址:微笑涛声 【www.cztcms.cn】 ▣ 博主其他平台: CSDN 简书 开源中国 思否 华为云博客 我的博客从上线到现在,网站背景一直是纯色的。突然想把背景改为图片。好在WordPress自定义背景图片比价简单。 1、找到正在使用的主题的…

建站分享:Gitee+PicGo 搭建Markdown图床

图床是干什么的? 图床就是一个便于在博文中插入在线图片连接的个人图片仓库。设置图床之后,在自己博客中插入的图片链接就可以随时随地在线预览了,并且不会因为任何意外原因无法查看,除非自己亲自删除。 ▣ 博主主站地址&#xff…

分享我的第一个Web作品——纯静态网站

以下是一年前学习Web基础开发时候的期末作品——计算机学习网。当时刚开始学习HTML和CSS。 网站采用HTMLCSSJavaScript的架构设计,当时大概用了12天左右,当然这12天还在上其他的课,这是利用课余时间做的。网站包括主页、内容页、登录和注册页…

网站添加免费SSL证书——HTTPS协议

在添加证书之前首先了解两个概念:SSL和HTTPS。 ▶ SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。 ▶ …

WordPress添加侧栏小工具-博客统计(网站统计)

WordPress侧边栏“博客统计”小工具的制作方法。首先要下载cztcms.zip文件,解压得到一个PHP文件。蓝奏云地址:▶ cztcms.zip 1、将这个PHP文件放到主题目录下。打开主题目录下的function.php,在最后一个 ?> 前插入以下代码: i…

PHP+MySQL实现精确统计网站访问量(IP个数)

基于WordPress的网站有很多统计功能。但是只能统计文章阅读数。不能统计访客人数。以下代码可以实现获取来访用户的IP地址,一个IP对应一次访问。即使刷新也不会增加访问量。这个非常精确。 1、创建一个存储数据的表。进入MySQL后直接创建即可。 create table wp_jc_…

gatsby_Gatsby更快的WordPress网站

gatsbyTalk about the latest cutting-edge web technologies, and you find some impressive names like React.js, Vue.js, Next.js, and so on. They have opened new gateways and approaches to building websites that can serve content to users quickly. 谈论最新的前…

从“奥运门票网站800万访问量”想到的成本、质量、进度、风险等关系

看到这个新闻后颇有一番滋味,更体验到我一直关注的软件性能着实无处不在,这个案例也确实值得我们好好反思一下。不知道网友们有没有报名参加国际日语考试的——这个网站每年05年前都有人不能报名,因为报名人数太多,所以报名当日大…

Web2.0网站的路径依赖--探讨蚂蚁社区为什么要导入博客

郑昀 2007-5-13以下文章即将讨论的问题涉及这几个关键词:l 网站启动的核心用户从哪里来?l 网站启动时需要什么样的种子用户?l 最初吸引来的种子用户对网站有什么路径依赖作用?麦田曾经问道:“4. …

郑昀邀请网站开发工程师架构师加盟Web3.0新锐网站[工作地点-北京财智国际大厦]

公司新年新气象,刚刚换到了一个大办公室,也离中关村更近了。随着公司规模的扩大,开始了新一轮的招兵买马,哈哈。请各位帮忙看看有没有合适的人选推荐,不胜感谢!招聘:研发部招聘岗位1:PHP网站架构…

大型网站架构与分布式架构

解决问题的通用思路是将分而治之(divide-and-conquer),将大问题分为若干个小问题,各个击破。在大型互联网的架构实践中,无一不体现这种思想。架构目标低成本:任何公司存在的价值都是为了获取商业利益。在可能的情况下&…

高性能网站性能优化

从LiveJournal后台发展看大规模网站性能优化方法于敦德 2006-3-16一、LiveJournal发展历程LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用,以实现以下功能:博客,论坛 社会性网络,找到朋友 聚合&am…

JS实现网站悬浮广告

如图黄色区块会沿着浏览器的上下左右碰撞移动,可关闭,鼠标移上去会停止 <!doctype html> <html> <he><meta charset"utf-8"><title>广告</title><style type"text/css">*{pding:0px;margin:0px;}#ad{position:a…

一步一步SharePoint 2007之十七:解决实现Form认证后无法再用SharePoint Designer编辑网站的问题...

一步一步SharePoint 2007之十七&#xff1a;解决实现Form认证后无法再用SharePoint Designer编辑网站的问题摘要前面的文章中&#xff0c;我曾提到&#xff0c;Form认证目前还有缺陷&#xff0c;就是实现Form认证后&#xff0c;就不可以用SharePoint Designer编辑网站了。这点真…