热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phpweb网站开发安全

php是一门上手很容易,比较随性的计算机编程语言,刚上班的时候对php安全方面懂得不是很多,曾写过一些程序:前台提交的数据没有经过转义
 php是一门上手很容易,比较随性的计算机编程语言,刚上班的时候对php安全方面懂得不是很多,曾写过一些程序:前台提交的数据没有经过转义(<和>之类的html标签没有转成html实体),测试过程中后显示用户输入的内容成了html的标签格式,很是丢人啊,丢人是小事,重要的是程序的安全性没有保证。

    以前看过一道很简单的面试题,大概意思是从:http://www.phpstar.cn/?category=php中获取获取参数category的值。题目很简单相信写过php的人都能把category的值得出来,比如$_GET['category']这样写的人比比皆是,这样写不能说不能取到值,只是没有经过安全性的处理。

    下面说一说php的安全的例子:

    1.include的使用。

 

 




  •     include $action . '.php';  



  • ?> 



  •    其中的$action变量可能是从外边get方式的来的,这样看貌似是没有问题,但是如果$action = ‘http://www.baidu.com/error’呢?所以这里要加一个判断:要引入的文件是不是存在


      


         2.跨站运行脚本xss:比如一个评论框中用户输入


      


         如果程序没有做什么处理直接显示的话,想想会有什么事情发生?一个弹窗就显示在用户的眼前“IT博客!”。

        3.SQL注入


    
    
         username = '{$username}' AND passw = '{$passw}'";  
        $result = mysql_query($sql);  
    ?>  


         假如说$username获取过来的值是:admin ‘ or ’1 = 1,$passw 亦是如此:passw ‘ or ’1 = 1,以上的sql会变成


     


         减少这样的不安全编程的方法很简单:对从用户端传过来的数据进行处理数字用intval,字符串用htmlspecialhtmlspecialchars

     

     

     


    推荐阅读
    • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
    • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
    • 浅解XXE与Portswigger Web Sec
      XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
    • 2月4日每日安全热点节日期间某企远程办公遭XRed攻击 ... [详细]
    • 延迟注入工具(python)的SQL脚本
      本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
    • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
    • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
    • 跨站的艺术XSS Fuzzing 的技巧
      作者|张祖优(Fooying)腾讯云云鼎实验室对于XSS的漏洞挖掘过程,其实就是一个使用Payload不断测试和调整再测试的过程,这个过程我们把它叫做F ... [详细]
    • JVM(三)虚拟机栈 多合一总述
      虚拟机栈概述虚拟机栈出现背景:由于跨平台性的设计,Java的指令都是根据栈来设计的。不同CPU架构不同,所以不能设计为基于寄存器的跨平台的优点:指令集小,编译器容易实现,缺点是性能 ... [详细]
    • 通过存储型XSS漏洞获取目标用户本地私钥信息
      运维|安全存储型XSS漏洞,目标用户,本地,私钥信息运维-安全舍得网源码,vscode代码检查工具,ubuntu壁纸修改,tomcat网页部署项目,爬虫枯木,php采集文件,马鞍山 ... [详细]
    • 如何实现织梦DedeCms全站伪静态
      本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
    • Oracle分析函数first_value()和last_value()的用法及原理
      本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
    • 本文详细介绍了Mybatis中#与$的区别及其作用。#{}可以防止sql注入,拼装sql时会自动添加单引号,适用于单个简单类型的形参。${}则将拿到的值直接拼装进sql,可能会产生sql注入问题,需要手动添加单引号,适用于动态传入表名或字段名。#{}可以实现preparedStatement向占位符中设置值,自动进行类型转换,有效防止sql注入,提高系统安全性。 ... [详细]
    • 弹性云服务器ECS弹性云服务器(ElasticCloudServer)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境 ... [详细]
    • zuul 路由不生效_Zuul网关到底有何牛逼之处?竟然这么多人在用~
      作者:kosamino来源:cnblogs.comjing99p11696192.html哈喽,各位新来的小伙伴们,大家好& ... [详细]
    author-avatar
    无敌腐女乐园
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有