网站安全笔记

hykeda7年前服务器367

最近非常时期,几个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等文件。控制好图片上传的判断

标签: 安全服务器

相关文章

SSH (CentOS)常用命令集合

SSH (CentOS)常用命令集合

SSH (CentOS) 系统 功能 命令 --help 示例 关机 halt halt 重启 reboot rebo...

Linux 挂载硬盘

检查目前硬盘状态:fdisk -l 关机并插入新硬盘 对新硬盘分区:fdisk /dev/sdb (假设新硬盘为sdb) m    显示命令菜单 d    删除一个分区 n    创...

如何部署自己的HTTPS网站

如何部署自己的HTTPS网站

根据苹果相关通知,从2017年1月1日起,所有上架AppStore的应用必须支持https协议。 仍然采用HTTP传输的站点APP,将无法在AppStore被用户下载使用,也无法进行升级更新等工作。...

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

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

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

Linux 添加开机自启动脚本

Linux 添加开机自启动脚本

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

AB压力测试工具安装及测试

AB压力测试工具安装及测试

ab全称为:apache bench ab是Apache超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个...

发表评论    

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