利用nginx限制http的请求方式,达到提升服务器的安全。
首先想一下,http常用请求的方法有哪些?
GET:请求指定页面信息,并且返回主体。
HEAD:类似于GET请求之,但他返回的响应中没有具体内容,用于获取报头。
POST:向指定资源提交数据经行处理请求。(提交表单或者上传文件),数据被包含在请求中。
PUT:从客户端向服务器传送的数据取代指定的文档内容。
而对于我们来说最常用的HTTP方法则是GRT与POST。这些均为HTTP的请求方法,那么我们作为运维自然可以通过限制HTTP请求的方法来达到提升服务器安全性能的目的。例如,让HTTP只能使用GET,POST方法的配置如下所示:
If ($request_method !~ ^(GET|POST)$ ) {
retuen 501;
}
当然我们也知道设置当服务器将数据上传到存储目录时,用户上传写入的目录就不得不给Nginx对应的用户授相关权限,那么这样做的话一旦程序出现漏洞,木马病毒就很有可能被上传到服务器的目录中,虽然我们也可以做禁止指定后缀名程序的解析限制,但确实还会漏掉一些意想不到的可执行文件。对于这种情况,我们应该如何应对呢?
其实,我们还可以限制服务器的web服务的目录或者文件使用GET方法,防止用户通过服务器访问存储内容,让存储的渠道只能从静态或图片入口进入。也就是说用户上传的内容由我们经行控制,用户你想访问我的服务器,你只能有GET的方法访问一些指定的静态资源。配置如下:
If ($request_method ~* ^(GET)$ ) {
retuen 501;
)
那么对于上面所提到的限制站的目录的权限解释如下:
我们为了保障网站不被木马入侵,应该将站的目录的权限设置为755;所以文件权限都为644.当然这样的设置虽然可以防止黑客上传木马以及修改站的文件,但是也会将合法的用户上传内容也会被阻挡。对于这个的把控恕我无能还没有探索出来。在这里提到只是让大家可以理解上面提到的相关权限。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构