【解析php安全性问题中的:Null字符问题_PHP教程】教程文章相关的互联网学习教程文章

php安全之狗尾续貂_PHP

Shaun Clowes的文章Exploiting Common Vulnerabilities in PHP Applications的确写的很棒, 考虑到了很多方面,我这个文章只是狗尾续貂,补充一些其它没怎么提到的问题。本文侧重于解决问题,而不是 攻击。 1、古老的欺骗SQL语句 在默认模式下,即使是你忘了把php.ini拷到/usr/local/lib/php.ini下,php还是打开magic_quotes_gpc=on。 这样所有从GET/POST/Cookie来的变量的单引号()、双引号(")、反斜杠backslash()以及空字元NUL (...

通过对服务器端特性的配置加强php的安全_PHP

服务器安全 很多文章都比较详细的介绍了php、cgi程序在编程过程中遇到 的问题,以及如何通过应用程序漏洞突破系统,这篇文章我们来通过对php的一些服务器端特性来进行配置加强php的安全。写 cgi脚本的时候我们的确一定注意各种安全问题,对用户输入进行严格的过滤,但是常在岸边走哪有不湿鞋 ,吃烧饼哪有不掉芝麻,人有失蹄马有失手,连著名的phpnuke、phpMyAdmin等程序都出现过很严重的 问题,更何况象我等小混混写的脚本。所以现...

PHP安全之错误报告_PHP

从早期的版本到 2004 年7月13 日发布的 PHP 5,错误报告都是相当简单的。除了小心编写程序,还要留意一些特定的 PHP 配置项目: error_reporting 这个项目设置了错误报告的等级。不论是开发还是部署环境,强烈建议将这个项目设置为E_ALL。 display_errors 这个项目决定是否将错误显示在屏幕上(包含在输出中)。应当在开发中设置为On,这样可以在开发时就发现错误;应当在部署环境中设置为Off,这样在所有用户(和潜在攻击者)面前...

PHP安全之数据过滤_PHP

在指南的开始,我们说过数据过滤在任何语言、任何平台上都是WEB应用的基石。这包含检验输入到应用的数据以及从应用输出的数据,而一个好的软件设计可以帮助开发人员做到: 确保数据过滤无法被绕过, 确保不合法的信息不会影响合法的信息,并且 识别数据的。 关于如何确保数据过滤无法被绕过有各种各样的观点,而其中的两种观点比其他更加通用并可提供更高级别的保障。 调度方法 这种方法是用一个单一的 PHP 脚本调度(通过 U...

PHP安全技术之实现php基本安全_PHP

1.不要依赖注册全局变量功能(register_globals) 注册全局变量的出现曾经让PHP变得非常易用,但也降低了安全性(方便之处经常会破坏安全性)。建议在编程时把register_globals指令关闭,在PHP6中这个功能也会被取消。 2.在使用变量之前对其进行初始化。 如果register_globals功能是启动的,即使程序员不使用它,恶意用户也可能利用为初始化变量的漏洞来侵入我们的系统。比如: if(conditon){ $auth=TRUE; } 如果变量$auth没有在这...

php安全过滤函数代码_PHP

代码如下://安全过滤输入[jb] function check_str($string, $isurl = false) { $string = preg_replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/,,$string); $string = str_replace(array("\0","%00","\r"),,$string); empty($isurl) && $string = preg_replace("/&(?!(#[0-9]+|[a-z]+);)/si",&,$string); $string = str_replace(array("%3C",<),<,$string); $string = str_replace(array("%3E",>),>,$string); $string = str_replac...

PHP安全配置详细说明_PHP

【 安全模式 】 PHP的安全模式提供一个基本安全的共享环境,在一个有多个用户帐户存在的PHP开放的Web服务器上。当一个Web服务器上运行的PHP打开了安全模式,那么一些函数将被完全的禁止,并且会限制一些可用的功能。[ 使用安全模式来强制限制 ]在安全模式下,一些尝试访问文件系统的函数功能将被限制。运行Web服务器用户ID,如果想要操作某个文件,则必须拥有该文件读取或者写入的访问权限,实现这个限制功能对于PHP来说是没有问题...

php安全配置如何配置使其更安全_PHP

另外,目前闹的轰轰烈烈的SQL Injection也是在PHP上有很多利用方式,所以要保证安全,PHP代码编写是一方面,PHP的配置更是非常关键。 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行php能够更安全。整个PHP中的安全设置主要是为了防止phpshell和SQL Injection的攻击,一下我们慢慢探讨。我们先使用任何编辑工具打开/etc/local/apache2/conf/php.in...

php安全之直接用$获取值而不$_GET字符转义_PHP

代码如下:function my_addslashes($string, $force = 0) { !defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc()); if(!MAGIC_QUOTES_GPC || $force) { if(is_array($string)) { foreach($string as $key => $val) { $string[$key] = my_addslashes($val, $force); } } else { $string = addslashes($string); } } return $string; } foreach(array('_COOKIE', '_POST', '_GET') as $_request) { f...

php安全开发添加随机字符串验证,防止伪造跨站请求_PHP

yahoo对付伪造跨站请求的办法是在表单里加入一个叫.crumb的随机串;而facebook也有类似的解决办法,它的表单里常常会有post_form_id和fb_dtsg。 比较常见而且也很廉价的防范手段是在所有可能涉及用户写操作的表单中加入一个随机且变换频繁的字符串,然后在处理表单的时候对这个字符串进行检查。这个随机字符串如果和当前用户身份相关联的话,那么攻击者伪造请求会比较麻烦。现在防范方法基本上都是基于这种方法的了 随机串代码实现...

写给系统管理员的25个PHP安全实践_PHP【图】

PHP是广泛使用的开源服务端脚本语言。通过HTTP或HTTPS协议,Apache Web服务允许用户访问文件或内容。服务端脚本语言的错误配置会导致各种问题。因此,PHP应该小心使用。以下是为系统管理员准备的,安全配置PHP的25个实践事例。用于下文的PHP设置样例 DocumentRoot:/var/www/html默认Web服务:Apache(可以使用Lighttpd或Nginx代替)默认PHP配置文件:/etc/php.ini默认PHP Extensions配置目录:/etc/php.d/PHP安全配置样例文件:/e...

分享十款最出色的PHP安全开发库中文详细介绍_PHP【图】

1. PHP入侵检测系统PHP IDS(即PHP-入侵检测系统)是一套易于使用、结构良好、速度出色且专门面向PHP类Web应用程序的先进安全层。这套入侵检测系统既不提供任何缓和及杀毒机制,也不会对恶意输入内容进行过滤,其作用单纯为识别出攻击者们针对站点进行的恶意活动、并以大家需要的方式作出及时提醒。凭借着一整套经过实践检验及相当严格的过滤规则,该检测系统会针对任何攻击活动给出一个影响评级数值,从而帮助用户更轻松地了解应如何...

PHP安全上传图片的方法_PHP【图】

本文实例讲述了PHP安全上传图片的方法。分享给大家供大家参考。具体分析如下: 这段代码用于上传图片,可以根据图片类型检测图片是否安全,不是简单的检测扩展名<?php // upload.php echo <<<_END PHP Form Upload_END; if ($_FILES) { ame = $_FILES[filename][name]; switch($_FILES[filename][type]) { case image/jpeg: $ext = jpg; break; case image/gif: $ext = gif; break; case image/png: $ext = png; break; case image...

PHP安全编程之加密功能_php基础

数据加密在我们生活中的地位已经越来越重要了,尤其是考虑到在网络上发生的大量交易和传输的大量数据。如果对于采用安全措施有兴趣的话,也一定会有兴趣了解PHP提供的一系列安全功能。在本篇文章中,我们将介绍这些功能,提供一些基本的用法,以便你能够为自己的应用软件中增加安全功能。 预备知识 在详细介绍PHP的安全功能之前,我们需要花点时间来向没有接触过这方面内容的读者介绍一些有关密码学的基本知识,如果对密码学的基本...

PHP安全配置_php基础

一、CGI模式安装安全 二、以Apache模块安装安全 当 PHP 以 Apache 模块方式安装时,它将继承 Apache 用户(通常为“nobody”)的权限。这对安全和认证有一些影响。比如,如果用 PHP 来访问数据库,除非数据库有自己的访问控制,否则就要使“nobody”用户可以访问数据库。这意味着恶意的脚本在不用提供用户名和密码时就可能访问和修改数据库。一个 web Spider 也完全有可能偶然发现数据库的管理页面,并且删除所有的数据库。可以通过...