nginx web 安全配置

nginx web 安全配置1 配置响应头 X Content Type Options X Frame Options X XSS Protection server add headerX Frame OptionsSAMEO add headerX XSS Protection 1 mode block add headerX Content Type Optionsnosni 注 X Frame Options 有些资源的 Content Type 是

1、配置响应头(X-Content-Type-Options、X-Frame-Options、X-XSS-Protection)

server{ add_header X-Frame-Options SAMEORIGIN; add_header X-XSS-Protection '1;mode=block'; add_header X-Content-Type-Options nosniff; } 注: X-Frame-Options: 有些资源的Content-Type是错的或者未定义。这时,某些浏览器会启用MIME-sniffing来猜测该资源的类型,解析内容并执行。 X-Frame-Options三个参数: 1、DENY 表示该页面不允许在frame中展示,即便是在相同域名的页面中嵌套也不允许。 2、SAMEORIGIN 表示该页面可以在相同域名页面的frame中展示。 3、ALLOW-FROM uri 表示该页面可以在指定来源的frame中展示。 X-XSS-Protection头的三个值 0: 表示关闭浏览器的XSS防护机制 1:删除检测到的恶意代码, 如果响应报文中没有看到X-XSS-Protection 字段,那么浏览器就认为X-XSS-Protection配置为1,这是浏览器的默认设置 1; mode=block:如果检测到恶意代码,在不渲染恶意代码 不指定X-Frame-Options的网页等同表示它可以放在任何iFrame内。 X-Frame-Options可以保障你的网页不会被放在恶意网站设定的iFrame内,令用户成为点击劫持的受害人。 

2、请求方法拦截(GET|POST|HEAD以外的请求无法访问)

server{ if ($request_method !~* GET|POST|HEAD) { return 403; } }

3、sql 注入拦截

server{
    if ($query_string ~* ".*('|--|union|insert|drop|truncate|update|from|grant|exec|where|select|and|or|count|chr|mid|like|iframe|script|alert|webscan|dbappsecurity|style|confirm|innerhtml|innertext|class).*")
		{ return 500; }
    if ($uri ~* .*(viewsource.jsp)$) { return 404; }
	if ($uri ~* .*(/~).*) { return 404; }
}

4、页面拦截

 location /web.config { return 403; } 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210709.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午7:04
下一篇 2026年3月19日 上午7:04


相关推荐

  • 音乐付费的大门为谁而开?

    音乐付费的大门为谁而开?音乐行业需要一颗匠心 需要葆有初心 因为它永远无法速成 唯有步步为营 才能久久为功 唯如此 音乐价值的释放才会更彻底 也唯如此 未来的它也才可能像音符一样起伏跳跃 谱出一曲华美赞歌 作者 刘煜编辑 苏珊 20 年 这几乎是中国在线音乐的岁月长度 一批批老英雄和一批批新面孔在这里东奔西走 左冲右突 只是 在这场突围赛中 最终的赢家廖若星辰 如何释放音乐的价值 如何

    2026年3月16日
    3
  • pycharm linux激活码_pycharm固定在Ubuntu

    pycharm linux激活码_pycharm固定在Ubuntu这里只介绍采用激活码激活的方法。如果是window系统则hosts文件路径为:C:\Windows\System32\drivers\etc,将0.0.0.0account.jetbrains.com添加到末尾即可。如下图所示:如果是linux系统 Linux的hosts文件路径为:/etc命令行输入:第一步:cd/etc第二步:sudogedithosts输…

    2025年5月22日
    6
  • spring boot 系列之四:spring boot 整合JPA[通俗易懂]

    上一篇我们讲了springboot整合JdbcTemplate来进行数据的持久化,这篇我们来说下怎么通过springboot整合JPA来实现数据的持久化。一、代码实现二、知识点引申关于

    2022年2月16日
    46
  • Ubuntu18.04安装gcc——史上最全安装教程

    Ubuntu18.04安装gcc——史上最全安装教程心路历程:花了整个周末的时间,最终没有安装好gcc,使用的Linux版本是Ubuntu18.04。但是,历尽千辛万苦,第二天晚上终于搞好!!第一步首先在命令行里面输入pingwww.baidu.com。这一步测试Ubuntu是否有网络,若出现如图2所示的信息,可以跳过第二步进行第三步。第二步设置网络,首先在虚拟器-设置-网络适配器里面选择NAT模式。然后再进行第一步操作,有些同学还是没有网络,先别急,还需继续设置,Win+R输入services.msc调出服务,分别右键VMwareDHCP

    2022年7月24日
    61
  • cocos2dx-2.x CCFileUtils文件管理分析(2)

    cocos2dx-2.x CCFileUtils文件管理分析(2)

    2022年1月13日
    52
  • linux移植ntpdate「建议收藏」

    linux移植ntpdate「建议收藏」今天想让板子在开机的时候自动去同步网络上的时间,网上查了一下,需要使用到ntpdate命令。但是我使用的文件系统(busybox制作的文件系统)没有该命令,所以移植了一下。由于移植ntpdate需要用到openssl的头文件和库,所以也移植了openssl。PC系统:UbuntuUbuntu12.04.4LTS1.创建工作目录1mkdirc

    2026年3月8日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号