Weitere ähnliche Inhalte
Ähnlich wie Phpsecurity.ppt
Ähnlich wie Phpsecurity.ppt (20)
Phpsecurity.ppt
- 4. 二.php.ini的配置
1.1 背景知识:
php.ini是php的配置文件,包涵了许多php的
运行设置,在脚本中我们可用ini_set,
ini_get,,ini_get_all,int_restore等函数对php.
ini进行读取和设定.下面将介绍一些可能导致
安全问题的参数:
- 10. 1.4 display_error和error_reporting
这两个选项用来设置错误提示是否开启和错
误提示的等级,通常在开发的过程中可以将
error_reporting设置为e_all,这样方便调试。
但在站点配置时,最好将错误信息屏蔽,可
以这样设置display_error=Off,error_reporting
(0),这样攻击者便无法从错误信息中获取有
用的信息。
- 13. 2.2 引入‘’后所带来的问题
1)可造成对mysql数据库的二次攻击。
在gpc开启后,*’变成*’,但是mysql的转义字
符,存入数据库时又变为*’,这样便将’带入
了数据库,若是程序员过分信任数据库中的
数据,对于从数据库中取出的数据并未做任
何过滤,那么这个单引号便可以为我们做很
多事:像闭合前一个单引号进行注入,在写
文件函数中写入一句话等
- 15. 2.3 被魔术引号所遗忘的地方
1) $_SERVER变量
2) getenv()得到的变量(使用类
似$_SERVER变量)
3) $HTTP_RAW_POST_DATA与PHP输
入、输出流
4) 数据库操作容易忘记'的地方如:in()
/limit/order by/group by
- 17. 类似的编码函数还有:
编码 URL 字符串urlencode
解码已编码的 URL 字符
串
urldecode
按照 RFC 1738 对 URL
进行编码
rawurlencode
对已编码的 URL 字符串
进行解码
rawurldecode
使用 MIME base64 对
数据进行编码
base64_encode
对使用 MIME base64
编码的数据进行解码
base64_decode
- 24. 在php中容易导致安全问题的函数还有一下这些:array_map()
usort(), uasort(), uksort()
array_filter()
array_reduce()
array_diff_uassoc(), array_diff_ukey()
array_udiff(), array_udiff_assoc(), array_udiff_uassoc()
array_intersect_assoc(), array_intersect_uassoc()
array_uintersect(), array_uintersect_assoc(), array_uintersect_uassoc()
array_walk(), array_walk_recursive()
xml_set_character_data_handler()
xml_set_default_handler()
xml_set_element_handler()
xml_set_end_namespace_decl_handler()
xml_set_external_entity_ref_handler()
xml_set_notation_decl_handler()
xml_set_processing_instruction_handler()
xml_set_start_namespace_decl_handler()
xml_set_unparsed_entity_decl_handler()
stream_filter_register()
set_error_handler()
register_shutdown_function()
register_tick_function()