网站安全笔记

hykeda8年前服务器834

最近非常时期,几个zf的网站接到了漏洞检测机构的安全评估报告,要求我们去修复潜在漏洞。

1、密码字段自动完成处于活动状态

<input type="password" placeholder="密码" autocomplete="off"/>

2、X-Frame-Options Header未配置

X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame><iframe> 或者 <object> 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。

X-Frame-Options 有三个值:

DENY表示


该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

SAMEORIGIN表示

该页面可以在相同域名页面的 frame 中展示。

ALLOW-FROM uri表示

该页面可以在指定来源的 frame 中展示。

换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。

配置 Apache

配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中:

Header always append X-Frame-Options SAMEORIGIN
配置 nginx

配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 'http', 'server' 或者 'location' 的配置中:

add_header X-Frame-OptionsSAMEORIGIN;

配置 IIS

配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中:

<system.webServer>
  ...

  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="SAMEORIGIN" />
    </customHeaders>
  </httpProtocol>

  ...
</system.webServer>
PHP的方式
header('X-Frame-Options: SAMEORIGIN');
ASP的方式
Response.AddHeader("X-Frame-Options", "SAMEORIGIN"); 

3、会话Cookie中缺少HttpOnly属性

基本上,cookie的唯一必需属性是“name”字段,必须设置“HttpOnly”属性,才能防止会话cookie被脚本访问。

PHP中的设置  
 PHP5.2以上版本已支持HttpOnly参数的设置,同样也支持全局的HttpOnly的设置,在php.ini中
 ----------------------------------------------------- 
 session.cookie_httponly = 
 ----------------------------------------------------- 
设置其值为1或者TRUE,来开启全局的Cookie的HttpOnly属性,当然也支持在代码中来开启: 
 ----------------------------------------------------- 
 <?php
  ini_set("session.cookie_httponly", 1); 
 // or
  session_set_cookie_params(0, NULL, NULL, NULL, TRUE); 
 ?> 
 ----------------------------------------------------- 
Cookie操作函数setcookie函数和setrawcookie函数也专门添加了第7个参数来做为HttpOnly的选项,开启方法为: 
 ------------------------------------------------------- 
 setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); 
 setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
 ------------------------------------------------------- 
 对于PHP5.1以前版本以及PHP4版本的话,则需要通过header函数来变通下了: 
 ------------------------------------------------------------- 
 <?php
  header("Set-Cookie: hidden=value; httpOnly");
  ?>

ASP的设置

Response.AddHeader "Set-Cookie", "mycookie=yo; HttpOnly"

如果是thinkPHP框架的话 

修改配置文件:

3.2.2版本:'COOKIE_HTTPONLY' => 'httponly', // Cookie的httponly属性 3.2.2新增

5.0版本:'httponly' => 'httponly',

4、关于电话号码

用图片代替,手机号局部用*代替,或者直接忽略。

还有就是要控制好上传文件的权限问题,不能执行asp、php、jsp等文件。控制好图片上传的判断

标签: 安全服务器
阅读剩余的53%

相关文章

FlashFXP(FTP)计划任务

设规则: 属性-文件传输规则-全局 如果 时间 为 较旧 并且 传输 为 下载 那么 覆盖 如果 大小 为 不同 并且 传输 为 下载 那么 覆盖 如果没有匹配的规则,那么:跳过 建站点...

apache、nginx禁止网站某个目录下面执行php文件

apache: 在网站根目录的.htaccess文件中加入最后一句: <IfModule mod_rewrite.c> Options +FollowSy...

centos安装jre

1、首先下载jre 前往甲骨文官网http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.h...

git抓去远程仓库报错can’t be established.

个人在码云(git一样)上面创建了仓库,通过本地的git拉取远程仓库到本地报错 The authenticity of host ‘github.com (13.229.188.59)’ can’t...

linux添加开机启动

Linux设置服务开机自动启动的方式有好多种,这里介绍一下通过chkconfig命令添加脚本为开机自动启动的方法。 1. 编写脚本autostart.sh(这里以开机启动redis服务为...

安装中文CentOS 6.5的详细步骤及要注意点

安装中文CentOS 6.5的详细步骤及要注意点

   CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat En...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。