资讯专栏INFORMATION COLUMN

网站常见安全问题记录(持续更新)

Jason_Geng / 2356人阅读

摘要:由此造成即使页面的或者设置为,也无法让整个网页紧贴浏览器顶部,因为在一开头有这个隐藏字符解决办法保存文件为建议不要用记事本打开开发文件

说明 初衷:

本文档用于记录所遇到的网站安全问题,并分类汇总,方便后期遇到类似问题,能够快速找到解决方案,提高效率,让程序员有更多的时间去把妹,LOL...

记录规范:

标题必须清晰明了,方便用户快速查找,拒绝标题党;

问题放到正确的分类中;

记录问题的时候先阐述问题,再列出解决方法,尽量做到有图有真相;

如果有对应的资料,可以附上链接;

记录问题提交人,方便追踪

Apache Cookie缺少HttpOnly、Secure标识 漏洞提示

描述

httponly是微软对cookie做的扩展,这个主要是解决用户的cookie可能被盗用的问题。
大家都知道,当我们去邮箱或者论坛登陆后,服务器会写一些cookie到我们的浏览器,当下次再访问其他页面时,由于浏览器回自动传递cookie,这样就实现了一次登陆就可以看到所有需要登陆后才能看到的内容。也就是说,实质上,所有的登陆状态这些都是建立在cookie上的!假设我们登陆后的cookie被人获得,那就会有暴露个人信息的危险!当然,想想,其他人怎么可以获得客户的cookie?那必然是有不怀好意的人的程序在浏览器里运行!如果是现在满天飞的流氓软件,那没有办法,httponly也不是用来解决这种情况的,它是用来解决浏览器里javascript访问cookie的问题。试想,一个flash程序在你的浏览器里运行,就可以获得你的cookie的!

修复方案

一、修改php配置文件php.ini

session.cookie_secure = 1
session.cookie_httponly = 1

暴力解决办法:注释掉对应信息

apache icons目录问题

我们如果使用了apache服务器,当我访问http://xxx.xxx.xxx/icons/时会自动显示这个目录下的所以文件列表,这行造成网站目录信息的泄露对我们的网站安全造成威胁,在 关闭apache自动目录列表功能的三种方法 这篇文章中的三种方法都不能禁止自动目录列表,你如果使用网站安全监测,会提醒你发现目录启用了自动目录列表功能,所以我们必须禁止它,经过测试,按如下步骤可以禁止:

打开目录apache/conf/extra/下的文件httpd-autoindex.conf(位置可能有差异)
找到

Alias /icons/ "/xampp/apache/icons/"
 

    Options Indexes MultiViews
    AllowOverride None
    Require all granted

去掉Indexes改成


    Options  MultiViews
    AllowOverride None
    Require all granted

重启apache服务器!

暴力解决办法就是注释掉或者直接删除icons目录

启用了OPTIONS方法

在网站根目录目录下创建.htaccess文件,内容如下,如果您已有其他规则,请添加到第一条规则

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(OPTIONS)
RewriteRule .* - [F]

使用Apache的重写规则来禁用Options方法和Trace方法

在Apache配置文件httpd-conf中【vhosts-conf】添加以下代码:

多带带禁用Trace方法:

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

多带带禁用Options方法:

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(OPTIONS)
RewriteRule .* - [F]

同时禁用Trace方法和Options方法

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS)
RewriteRule .* - [F]

    DocumentRoot "D:wwwroot"
    ServerName www.abc.com
    ServerAlias abc.com
  
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
      RewriteEngine on
      RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS)
      RewriteRule .* - [F]
  
启用了TRACE Method

同启用了OPTIONS方法处理方法相同
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS)
或者在httpd.conf中添加配置:
TraceEnable off

X-Frame-Options头未设置

在httpd.conf里面增加
Header always append X-Frame-Options SAMEORIGIN

错误页面WEB应用服务器版本泄漏


修复方法:

关闭目录浏览权限 描述
 
    Options Indexes FollowSymLinks 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
 

options中Indexes表示当网页不存在的时候允许索引显示目录中的文件

解决

将要设置的目录对应配置参数下的Indexes删除或者改为-Indexes(低版本可能会报错)

 
    Options FollowSymLinks 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
 

或者

 
    Options -Indexes FollowSymLinks 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
 

缺少"x-content-type-options"头

在httpd.conf里面增加
Header always set X-Content-Type-Options nosniff

其他 允许Flash文件与任何域HTML页面通信 描述

解决方法

将参数AllowScriptAccess设置为never

jQuery版本警告

导致页面空行 描述:

页面的编码如果是UTF-8 + BOM,会在body开头处加入一个可见的控制符,导致页面头部会出现一个空白。这种编码方式一般会在windows操作系统中出现,比如记事本编辑器,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于html来说,BOM是个大麻烦。因为浏览器在解析html页面时,并不会忽略BOM,所以在解析html文件时,会把BOM作为该文件开头正文的一部分,这串字符也将会被直接执行(在页面中并不显示)出来。由此造成即使页面的 top或者padding 设置为0,也无法让整个网页紧贴浏览器顶部,因为在html一开头有这3个隐藏字符!

解决办法:

保存文件为utf-8

建议不要用记事本打开开发文件

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/35997.html

相关文章

  • 网站常见安全问题记录持续更新

    摘要:由此造成即使页面的或者设置为,也无法让整个网页紧贴浏览器顶部,因为在一开头有这个隐藏字符解决办法保存文件为建议不要用记事本打开开发文件 说明 初衷: 本文档用于记录所遇到的网站安全问题,并分类汇总,方便后期遇到类似问题,能够快速找到解决方案,提高效率,让程序员有更多的时间去把妹,LOL... 记录规范: 标题必须清晰明了,方便用户快速查找,拒绝标题党; 问题放到正确的分类中; 记录问...

    BDEEFE 评论0 收藏0
  • 网站常见安全问题记录持续更新

    摘要:由此造成即使页面的或者设置为,也无法让整个网页紧贴浏览器顶部,因为在一开头有这个隐藏字符解决办法保存文件为建议不要用记事本打开开发文件 说明 初衷: 本文档用于记录所遇到的网站安全问题,并分类汇总,方便后期遇到类似问题,能够快速找到解决方案,提高效率,让程序员有更多的时间去把妹,LOL... 记录规范: 标题必须清晰明了,方便用户快速查找,拒绝标题党; 问题放到正确的分类中; 记录问...

    LiveVideoStack 评论0 收藏0
  • 前端面试题总结——综合问题(持续更新中)

    摘要:如何实现浏览器内多个标签页之间的通信阿里调用等本地存储方式页面可见性可以有哪些用途通过的值检测页面当前是否可见,以及打开网页的时间等在页面被切换到其他后台进程的时候,自动暂停音乐或视频的播放网页验证码是干嘛的,是为了解决什么安全问题。 前端面试题总结——综合问题(持续更新中) 1.页面从输入URL到页面加载显示完成,这个过程中都发生了什么?(流程说的越详细越好) 1.输入域名地址2.发...

    Lin_YT 评论0 收藏0
  • 前端面试题总结——综合问题(持续更新中)

    摘要:如何实现浏览器内多个标签页之间的通信阿里调用等本地存储方式页面可见性可以有哪些用途通过的值检测页面当前是否可见,以及打开网页的时间等在页面被切换到其他后台进程的时候,自动暂停音乐或视频的播放网页验证码是干嘛的,是为了解决什么安全问题。 前端面试题总结——综合问题(持续更新中) 1.页面从输入URL到页面加载显示完成,这个过程中都发生了什么?(流程说的越详细越好) 1.输入域名地址2.发...

    elarity 评论0 收藏0
  • 前端面试题总结——综合问题(持续更新中)

    摘要:如何实现浏览器内多个标签页之间的通信阿里调用等本地存储方式页面可见性可以有哪些用途通过的值检测页面当前是否可见,以及打开网页的时间等在页面被切换到其他后台进程的时候,自动暂停音乐或视频的播放网页验证码是干嘛的,是为了解决什么安全问题。 前端面试题总结——综合问题(持续更新中) 1.页面从输入URL到页面加载显示完成,这个过程中都发生了什么?(流程说的越详细越好) 1.输入域名地址2.发...

    harriszh 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<