Secure Headers 项目使用教程
secure_headersManages application of security headers with many safe defaults项目地址:https://gitcode.com/gh_mirrors/se/secure_headers
1. 项目的目录结构及介绍
Secure Headers 项目的目录结构如下:
secure_headers/
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── README.md
├── Rakefile
├── lib/
│ ├── secure_headers.rb
│ ├── secure_headers/
│ │ ├── configuration.rb
│ │ ├── cookie.rb
│ │ ├── csp.rb
│ │ ├── hpkp.rb
│ │ ├── hsts.rb
│ │ ├── middleware.rb
│ │ ├── opt_out.rb
│ │ ├── referrer_policy.rb
│ │ ├── version.rb
│ │ └── x_content_type_options.rb
│ └── tasks/
│ └── secure_headers_tasks.rake
├── secure_headers.gemspec
└── spec/
├── configuration_spec.rb
├── cookie_spec.rb
├── csp_spec.rb
├── hpkp_spec.rb
├── hsts_spec.rb
├── middleware_spec.rb
├── opt_out_spec.rb
├── referrer_policy_spec.rb
├── secure_headers_spec.rb
└── x_content_type_options_spec.rb
目录结构介绍
Gemfile
和Gemfile.lock
:定义了项目的依赖关系。LICENSE
:项目的许可证文件。README.md
:项目的说明文档。Rakefile
:用于定义 Rake 任务。lib/
:包含项目的主要代码文件。secure_headers.rb
:项目的主文件。secure_headers/
:包含各种配置和功能的实现文件。
secure_headers.gemspec
:项目的 gemspec 文件,用于打包和发布。spec/
:包含项目的测试文件。
2. 项目的启动文件介绍
项目的启动文件是 lib/secure_headers.rb
。这个文件是整个项目的入口点,负责加载和初始化项目的各个模块。
require 'secure_headers/configuration'
require 'secure_headers/cookie'
require 'secure_headers/csp'
require 'secure_headers/hpkp'
require 'secure_headers/hsts'
require 'secure_headers/middleware'
require 'secure_headers/opt_out'
require 'secure_headers/referrer_policy'
require 'secure_headers/version'
require 'secure_headers/x_content_type_options'
module SecureHeaders
# 项目的主要逻辑和初始化代码
end
3. 项目的配置文件介绍
项目的配置文件主要位于 lib/secure_headers/configuration.rb
。这个文件定义了如何配置和应用各种安全头信息。
module SecureHeaders
class Configuration
def self.default
new do |config|
config.cookies = [
{ secure: true },
{ httponly: true },
{ samesite: { lax: true } }
]
config.hsts = "max-age=#{1.week.to_i}"
config.x_frame_options = "DENY"
config.x_content_type_options = "nosniff"
config.x_xss_protection = "1; mode=block"
config.x_download_options = "noopen"
config.x_permitted_cross_domain_policies = "none"
config.referrer_policy = %w(origin-when-cross-origin strict-origin-when-cross-origin)
config.csp = {
default_src: %w('none'),
preserve_schemes: true,
disable_nonce_backwards_compatibility: true
}
end
end
def initialize
yield self if block_given?
end
end
end
配置文件介绍
cookies
:配置 cookie 的安全属性。hsts
:配置 HTTP Strict Transport Security 头。x_frame_options
:配置 X-Frame-Options 头。x_content_type_options
:配置 X-Content-Type-Options 头。- `x
secure_headersManages application of security headers with many safe defaults项目地址:https://gitcode.com/gh_mirrors/se/secure_headers