欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP开发中常见的安全问题详解和解决方法

程序员文章站 2022-06-05 19:46:11
...
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
这篇文章主要介绍了PHP开发中常见的安全问题详解和解决方法,详细介绍了例如Sql注入、CSRF、Xss、CC等攻击手段的背景知识以及解决方法,需要的朋友可以参考下
浅谈Php安全和防Sql注入,防止Xss攻击,防盗链,防CSRF
前言:
首先,笔者不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记、细心总结文章,里面有些是我们phper不易发现或者说不重视的东西。所以笔者写下来方便以后查阅。在大公司肯定有专门的web安全测试员,安全方面不是phper考虑的范围。但是作为一个phper对于安全知识是:“知道有这么一回事,编程时自然有所注意”。
1、php一些安全配置
(1)关闭php提示错误功能
在php.ini 中把display_errors改成
display_errors = OFF

或在php文件前加入

error_reporting(0)

1)使用error_reporting(0);失败的例子:
A文件代码:

error_reporting(0);  
echo555echo444;  
?>

错误:

Parse error: parse error, expecting `','' or `';'' in E:\webphp\2.php on line 4

2)使用error_reporting(0);成功的例子:
a文件代码:

error_reporting(0);  
include("b.php");  
?>

b文件代码:

echo555echo444;  
?>

这是很多phper说用error_reporting(0)不起作用。第一个例子A.php里面有致命错误,导致不能执行,不能执行服务器则不知有这个功能,所以一样报错。
第二个例子中a.php成功执行,那么服务器知道有抑制错误功能,所以就算b.php有错误也抑制了。
ps:抑制不了mysql错误。

(2)关闭一些“坏功能”
1)关闭magic quotes功能

在php.ini 把magic_quotes_gpc = OFF
避免和addslashes等重复转义
2)关闭register_globals = Off
在php.ini 把register_globals = OFF
在register_globals = ON的情况下
地址栏目:http://www.jb51.net?bloger=benwin

$bloger