Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 12326

php-manual-zh-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>隐藏 PHP</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="安全"
HREF="security.html"><LINK
REL="PREVIOUS"
TITLE="关闭魔术引号"
HREF="security.magicquotes.disabling.html"><LINK
REL="NEXT"
TITLE="保持更新"
HREF="security.current.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PHP 手册</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="security.magicquotes.disabling.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="security.current.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="chapter"
><H1
><A
NAME="security.hiding"
>章 32. 隐藏 PHP</A
></H1
><P
>&#13;    一般而言,通过隐藏的手段提高安全性被认为是作用不大的做法。但某些情况下,尽可能的多增加一份安全性都是值得的。
   </P
><P
>&#13;    一些简单的方法可以帮助隐藏 PHP,这样做可以提高攻击者发现系统弱点的难度。在
    <TT
CLASS="filename"
>php.ini</TT
> 文件里设置 expose_php = off ,可以减少他们能获得的有用信息。
   </P
><P
>&#13;    另一个策略就是让 web 服务器用 PHP 解析不同扩展名。无论是通过
    <TT
CLASS="filename"
>.htaccess</TT
> 文件还是 Apache 的配置文件,都可以设置能误导攻击者的文件扩展名:
    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN6896"
></A
><P
><B
>例 32-1. 把 PHP 隐藏为另一种语言</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="apache-conf"
># 使PHP看上去像其它的编程语言
AddType application/x-httpd-php .asp .py .pl</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
    或者干脆彻底隐藏它:
    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN6899"
></A
><P
><B
>例 32-2. 使用未知的扩展名作为 PHP 的扩展名</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="apache-conf"
># 使 PHP 看上去像未知的文件类型
AddType application/x-httpd-php .bop .foo .133t</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
    或者把它隐藏为 HTML 页面,这样所有的 HTML 文件都会通过 PHP
    引擎,会为服务器增加一些负担:
    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN6902"
></A
><P
><B
>例 32-3. 用 HTML 做 PHP 的文件后缀</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="apache-conf"
># 使 PHP 代码看上去像 HTML 页面
AddType application/x-httpd-php .htm .html</PRE
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
    要让此方法生效,必须把 PHP
    文件的扩展名改为以上的扩展名。这样就通过隐藏来提高了安全性,虽然防御能力很低而且有些缺点。
   </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="security.magicquotes.disabling.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>起始页</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="security.current.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>关闭魔术引号</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="security.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>保持更新</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>