为您介绍5个 PHP 安全措施

  多年来,PHP一直是一个稳定的、廉价的运行基于web应用程序的平台。像大多数基于web的平台一样,PHP也是容易受到外部攻击的。开发人员、数据库架构师和系统管理员在部署PHP应用程序到服务器之前都应该采取预防措施。大部分预防措施可以通过几行代码或者把应用程序设置稍作调整即可完成。

  1:管理安装脚本

  如果开发人员已经安装了一套第三方应用程序的PHP脚本,该脚本用于安装整个应用程序的工作组件,并提供一个接入点。大多数第三方软件包都建议在安装后,删除该目录包含的安装脚本。但开发人员希望保留安装脚本,他们可以创建一个.htaccess文件来控制管理访问目录。

  AuthType Basic

  AuthName “Administrators Only”

  AuthUserFile /usr/local/apache/passwd/passwords

  Require valid-user

  任何未经授权的用户,如果试图访问一个受保护的目录,将会看到一个提示,要求输入用户名和密码。密码必须匹配指定的“passwords”文件中的密码。

  2:头文件

  在很多情况下,开发人员可以将分布在应用程序的几个脚本包含进一个脚本里。这些脚本将包含一个“include”指令,集成单个文件到原始页面的代码里。当“include”文件包含敏感信息,包括用户名、密码和数据库访问密钥时,该文件的扩展名应该命名成“.php ",而不是典型的“.inc”扩展。“.php”扩展确保php引擎将处理该文件,并防止任何未经授权的访问。

  3: MD5 vs. SHA

  在某些情况下,用户最终会创建自己的用户名和密码,而站点管理员通常会对表单提交的密码加密,并保存在数据库中。在过去的几年中,开发人员会使用MD5(消息摘要算法)函数,加密成一个128位的字符串密码。今天,很多开发人员使用SHA-1(安全散列算法)函数来创建一个160位的字符串。

  4: 自动全局变量

  php.ini文件中包含的设置称为“register_globals”。P服务器会根据register_globals的设置,将会为服务器变量和查询字符串自动创建全局变量。在安装第三方的软件包时,比如内容管理软件,像Joomla和Drupal,安装脚本将引导用户把register_globals设置为“关闭”。将设置改变为“关闭”可以确保未经授权的用户无法通过猜测变量名称及验证密码来访问数据。

  5: 初始化变量和值

  许多开发人员都落入了实例化变量不赋值的陷阱,原因可能由于时间的限制而分心,或缺乏努力。身份验证过程中的变量,应该在用户登录程序开始前就有值。这个简单的步骤可以防止用户绕过验证程序或访问站点中某些他们没有权限的区域。

时间: 2024-10-24 17:02:37

为您介绍5个 PHP 安全措施的相关文章

Delphi编写网络程序的安全措施

一. 原理 目前进行数据加密的方法很多,对数据的保护起到一定的作用.但如果采用固定的密钥或是密钥随数据一起传送,则均不能达到令人满意的保密效果.在实践过程中,我摸索出了一套"请求-应答"模式的随机密钥方法,对密码和数据的保密效果都令人十分满意. 当客户端程序启动并企图与服务器程序建立连接时,客户程序从服务器端取得一个由服务器程序产生的随机字串,系统将以此字串为密钥来传送用户登录密码和数据.由于密钥由服务器程序随机产生,客户每次登录时密钥均不相同,因此大大减少了密码被拦截导致数据被窃的可

【阿里云 MVP月度分享】中小企业公有云网络安全保障体系实践初探

许多大中型互联网企业都在建设自己的网络安全保障体系,并且配备了专业的网络安全人员,实现了一体化的网络安全保障.但中小型企业由于资金.人员.技术等众多客观原因,而无法完成:另外由于公有云给中小企业带来了高性价比的资源优势,但在使用云计算过程中,如果操作不当,反而会引入比较高的网络安全风险.下面我们先从大概的了解一下什么是网络安全保障体系,然后再看我们如何把这套体系在一定成本可控的情况下落地实践. 一.网络安全保障体系一般情况下,网络安全保障体系主要由四大部分构成:网络安全策略和体系.网络安全组织和

企业私有云平台安全技术 数据存储安全策略

云计算是一种以互联网为基础的新兴计算机应用技术,它融合了分布式计算.效用计算.并行计算.网格计算.网络存储.虚拟化等传统计算机和网络技术,形成了一整套新的标准和模式,"云计算"概念也迅速运用到生产环境中,各种"云计算"的应服务范围正日渐扩大,影响力也无可估量.通俗的讲,云计算就是让你把所有数据处理任务都交给网络来进行,由企业级数据中心负责处理客户电脑上的数据任务,这样就可以通过一个数据中心向使用多种不同设备的用户提供数据服务,从而为个人用户节省硬件资源.本文介绍的云

企业私有云平台安全技术

云计算是一种以互联网为基础的新兴计算机应用技术,它融合了分布式计算.效用计算.并行计算.网格计算.网络存储.虚拟化等传统计算机和网络技术,形成了一整套新的标准和模式,"云计算"概念也迅速运用到生产环境中,各种"云计算"的应服务范围正日渐扩大,影响力也无可估量.通俗的讲,云计算就是让你把所有数据处理任务都交给网络来进行,由企业级数据中心负责处理客户电脑上的数据任务,这样就可以通过一个数据中心向使用多种不同设备的用户提供数据服务,从而为个人用户节省硬件资源.本文介绍的云

组建家庭无线网络的安全措施

现在,多数家庭通过组建无线网络来访问因特网已经成为一个趋势.然而又有多少人知道在这个趋势的背后隐藏着许许多多的网络安全问题.原则上,无线网络比有线网络更容易受到入侵,因为被攻击端的电脑与攻击端的电脑并不需要网线设备上的连接,他只要在你无线路由器或中继器的有效范围内,就可以进入你的内部网络,访问的的资源,如果你在内部网络传输的数据并未加密的话,更有可能被人家窥探你的数据秘密.此外,无线网络就其发展的历史来讲,远不如有线网络长,其安全理论和解决方案远不够完善.所有的这些都讲导致无线网络的安全性教有线

MySQL安全输入密码的一些操作介绍

  这篇文章主要介绍了MySQL安全输入密码的一些操作,示例基于Linux操作系统,需要的朋友可以参考下 当我们运行mysql客户端连接mysql服务器的时候,以一种暴露的可被其他用户发现的方式指定我们的密码是不妥的.我们输入密码的方式有四种,其中每一种都有一定风险.下面就分别说下这四种方式: MySQL密码输入的安全操作(翻译) 第一种:直接在命令行后使用 -pyour_pass 或者r --password=your_pass 这两种选项. 举例: ? 1 shell> mysql -u k

实例介绍以太网MAC地址的获取更改应用

以太网MAC地址唯一地标识了世界上的每个以太网设备.本文主要给大家介绍了如何获得MAC地址,并且讨论了怎样改变MAC地址等问题.获得MAC地址在交换机的命令输入窗口,输入"show mac-address-table"可以获得MAC地址表, 例如: Switch# show mac-address-table Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports

当确定网络安全措施时 企业应该考虑什么

为基础架构选择正确的网络安全措施是非常重要的,因为保护敏感数据和消除安全威胁是重中之重的工作.在开始寻找解决方案时,你会发现可供选择的安全供应商有很多--而且他们都会说自己的产品是最好的.但是,有一些网络安全措施会更适合你的网络架构和特殊珠数据安全需求.本文将介绍用于对比企业网络安全产品的条件. 关键任务数据的位置 理解公司目前将数据存储在什么位置--以及将来会存储在什么位置,就能很好地反映需要什么类型的安全工具,以及它们对于整个安全架构的重要性.数据存储在内部.云中还是两个位置都存储,这会影响

Linux环境中堆栈和堆相关内存损坏的基本原理和调试方法介绍

本文讲的是Linux环境中堆栈和堆相关内存损坏的基本原理和调试方法介绍, 前言 建议阅读本文之前,你对ARM组件的有个基本了解,本文会先为你介绍32位Linux环境中进程的内存布局,然后再介绍堆栈和堆相关内存损坏的基本原理以及调试方法. 本文中使用的示例是在ARMv6 32位处理器上编译的,如果你无法访问ARM设备,可以点击这里https://azeria-labs.com/emulate-raspberry-pi-with-qemu/创建自己的实验环境并在虚拟机中模拟Raspberry Pi发