|
网站的运行安全肯定是每个站长必须考虑的问题,大家知道,大多数黑客攻击网站都是采用sql注入,这就是我们常说的为什么 ? 最原始的静态的网站反而是最安全的。今天我们讲讲PHP注入的安全规范,防止自己的网站被sql注入。 如今主流的网站开发语言还是php,那我们就从php网站如何防止sql注入开始说起: Php注入的安全防范通过上面的过程,我们可以了解到php注入的原理和手法,当然我们也同样可以制定出相应该的防范方法: 首先是对服务器的安全设置,这里主要是php+mysql的安全设置和linux主机的安全设置。对php+mysql注射的防范,首先将magic_quotes_gpc设置为On,display_errs设置为Off,如果id型,我们利用intval()将其转换成整数类型,如代码: $idintval($id); mysql_query”*fromexamplewherearticieid’$id’”;或者这样写:mysql_query(”SELECT*FROMarticleWHEREarticleid”.intval($id).”") 如果是字符型就用addslashes()过滤一下,然后再过滤”%”和”_”如: $searchaddslashes($search); $searchstr_replace(“_”,”\_”,$search); $searchstr_replace(“%”,”\%”,$search); 当然也可以加php通用防注入代码: /************************* PHP通用防注入安全代码 说明: 判断传递的变量中是否含有非法字符 如$_POST、$_GET 功能: 防注入
然后在每个php文件前加include(“checkpostget.php“);即可 **************************/ 另外将管理员用户名和密码都采取md5加密,这样就能有效地防止了php的注入。 还有服务器和mysql也要加强一些安全防范。 对于linux服务器的安全设置: 加密口令,使用“/usr/sbin/authconfig”工具打开密码的shadow功能,对passwd进行加密。 禁止访问重要文件,进入linux命令界面,在提示符下输入: #chmod600/etc/inetd.conf//改变文件属性为600 #chattr+I /etc/inetd.conf //保证文件属主为root #chattr–I /etc/inetd.conf //对该文件的改变做限制 禁止任何用户通过su命令改变为root用户 在su配置文件即/etc/pam.d/目录下的开头添加下面两行: Auth sufficient /lib/security/pam_rootok.sodebug Auth required /lib/security/pam_whell.sogroupwheel 删除所有的特殊帐户 #userdel lp等等删除用户 #groupdellp等等删除组 禁止不使用的suid/sgid程序 #find/-typef\(-perm-04000 -o–perm-02000\)\-execls–lg{}\; http://hi.baidu.com/bigideaer/bl ... 7e76e11a4cffd0.html 判断传递的变量中是否含有非法字符我们把以下代码放到一个公共的文件里,比如security.inc.php里面,每个文件里都include一下这个文件,那么就能够给任何一个程序进行提交的所有变量进行过滤了,就达到了我们一劳永逸的效果。 简述:/************************* 说明: 判断传递的变量中是否含有非法字符 如$_POST、$_GET 功能:防注入 **************************/ 代码如下:
然后在每个php文件前加include(“checkpostget.php“);即可 方法2 代码如下:
第二个方法写在单独的文件里,引入每一个PHP文件内 就可以实现对每一个数据进行转义处理了 functionsaddslashes($string){ if(is_array($string)){ feach($stringas$key>$val){ $string[$key]saddslashes($val); } }else{ $stringaddslashes($string); } return$string; } ################################################################# $magic_quoteget_magic_quotes_gpc(); if(empty($magic_quote)){ $_GETsaddslashes($_GET); $_POSTsaddslashes($_POST); } |
0
0
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。
49
2026.03.13
本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。
89
2026.03.12
本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。
276
2026.03.11
本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。
59
2026.03.10
本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。
99
2026.03.09
本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。
105
2026.03.06
本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。
230
2026.03.05
本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。
619
2026.03.04
2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!
173
2026.03.04
热门下载
相关下载
精品课程
最新文章

