IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    CentOS 6设置防跨站

    bear发表于 2016-07-10 16:00:29
    love 0

    利用open_basedir将PHP脚本的操作限定在某一个目录内,可以防止跨站攻击。本文基于CentOS 6,PHP 5.5.5版本。假设我们有一个网站位于/home/wwwroot/zhukun.net。

    [code]
    $ vim /usr/local/php/etc/php.ini #保证php.ini文件里的相关设定未被修改
    ; open_basedir, if set, limits all file operations to the defined directory
    ; and below. This directive makes most sense if used in a per-directory
    ; or per-virtualhost web server configuration file. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    ; http://php.net/open-basedir
    ;open_basedir =

    ……

    disable_functions = passthru,exec,…… #确保该open_basedir函数未被禁用
    ……

    ;;;;;;;;;;;;;;;;;;;;
    ; php.ini Options ;
    ;;;;;;;;;;;;;;;;;;;;
    ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
    ;user_ini.filename = ".user.ini"

    ; To disable this feature set this option to empty value
    ;user_ini.filename =

    ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
    ;user_ini.cache_ttl = 300
    [/code]

    [code]
    $ vim /home/wwwroot/zhukun.net/.user.ini #写入如下一行
    open_basedir=/home/wwwroot/zhukun.net:/tmp/:/proc/

    #相关安全权限设定
    $ chmod 644 /home/wwwroot/zhukun.net/.user.ini
    $ chown -R root:root /home/wwwroot/zhukun.net/.user.ini
    $ chattr +i /home/wwwroot/zhukun.net/.user.ini
    [/code]
    很多人觉得,我设定的open_basedir是否有效?很简单,只要将open_basedir后面的路径改一下,重启一下PHP服务,然后观察网站是否还能正常访问即可。



沪ICP备19023445号-2号
友情链接