0

0

三分钟带你了解PHP操作用户提交内容时需要注意的危险函数

醉折花枝作酒筹

醉折花枝作酒筹

发布时间:2021-06-22 16:06:59

|

2337人浏览过

|

来源于segmentfault

转载

本篇文章给大家介绍一下php操作用户提交内容时需要注意的危险函数。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

三分钟带你了解PHP操作用户提交内容时需要注意的危险函数

对于我们的程序开发来说,用户的输入是解决安全性问题的第一大入口。为什么这么说呢?不管是SQL注入、XSS还是文件上传漏洞,全部都和用户提交的输入参数有关。今天我们不讲这些问题,我们主要探讨下面对用户的输入,有一些危险的函数在未经验证的情况下是不能直接使用这些函数来进行操作的,比如:

include($g);

假设这个 $g 是用户提交的内容,我们在未经验证的情况下直接使用这个参数来包含文件,我们传递的参数为 ?g=/etc/passwd ,那么服务器上所有的用户帐号信息就很可能就直接泄露了。

另外,一些执行 shell 命令的函数还是极度危险的。

立即学习PHP免费学习笔记(深入)”;

echo system($g);

当我们传递的参数是 ?g=ls -la / 时,同样的服务器目录也展示了出来,这还仅仅是显示目录结构,如果使用其它更恐怖的命令后果将不堪设想。

同理,我们经常会根据一些id或指定的文件名来操作文件,特别是在删除文件的时候,如果未加判断,那么也可能直接去删除某些非常重要的文件。

unlink('./' . $g);

我们继续将 $g 构造为 ?g=../../../xxxx ,如果在权限允许的情况下,就可以删除各种系统文件。

对这些内容,其实在 PHP 的官方手册中就已经给出了一些很好的建议,我们不妨来直接看看 PHP 手册中是如何说的。

很多 PHP 程序所存在的重大弱点并不是 PHP 语言本身的问题,而是编程者的安全意识不高而导致的。因此,必须时时注意每一段代码可能存在的问题,去发现非正确数据提交时可能造成的影响。

必须时常留意你的代码,以确保每一个从客户端提交的变量都经过适当的检查,然后问自己以下一些问题:

飞笔AI
飞笔AI

飞笔AI致力于创作高质量的海报等图像,满足用户个性化设计需求。用户可通过平台便捷地创建各种风格和主题的海报、新媒体素材图等。

下载
  • 此脚本是否只能影响所预期的文件?

  • 非正常的数据被提交后能否产生作用?

  • 此脚本能用于计划外的用途吗?

  • 此脚本能否和其它脚本结合起来做坏事?

  • 是否所有的事务都被充分记录了?

还可以考虑关闭 register_globals,magic_quotes 或者其它使编程更方便但会使某个变量的合法性,来源和其值被搞乱的设置。在开发时,可以使用 error_reporting(E_ALL) 模式帮助检查变量使用前是否有被检查或被初始化,这样就可以防止某些非正常的数据的挠乱了。

其实,只要能遵守这些建议,大部分的安全问题都能得到解决。还是那句话,不能相信用户的任何输出,在测试的时候请做好各种验证,包括但不限于边界值、特殊符号、特殊命令、越界值、目录权限等。在非必要的情况下不要使用用户的输入作为包含文件、执行脚本及文件操作的直接参数,如果一定要用的话千万要进行各种形式的过滤验证。

测试代码:

[https://github.com/zhangyue05...

推荐学习:php视频教程

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

0

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

38

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

19

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

255

2026.01.21

妖精漫画入口地址合集
妖精漫画入口地址合集

本专题整合了妖精漫画入口地址合集,阅读专题下面的文章了解更多详细内容。

64

2026.01.21

java版本选择建议
java版本选择建议

本专题整合了java版本相关合集,阅读专题下面的文章了解更多详细内容。

3

2026.01.21

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

14

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

6

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

29

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 9万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 9.1万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号