安全

Laravel中的不安全SQL函数

我最近了解到并非Laravel中的所有查询构建器功能都是“安全的”。这意味着不应将用户输入直接传递给它,因为它可能会将您的应用程序暴露给SQL注入漏洞。

过去几天很明显,社区对这些不安全的功能知之甚少。许多开发人员和我一样认为,Laravel查询构建器完全阻止了SQL注入攻击。

这篇博文旨在提高人们对什么是安全的,哪些不安全的意识。…

                

解决PHP的一个长期存在的通过Opcache泄漏敏感数据的问题。

PHP中有一个非常古老的安全漏洞,它涉及在单个主进程共享多个PHP-FPM池的环境中处理OPCache的方式。这是现在运行PHP的最常见方式,也可能会对您产生影响。

漏洞

PHP有一种加速其解释器动态特性的方法,称为字节码缓存。PHP在每个页面加载中进行解释,这意味着PHP被转换为服务器理解并可以执行的字节码。由于大多数PHP页面不会每秒都更改,因此PHP会将该字节码缓存在内存中,并将其作为响应提供,而不必 每次都编译(“ 解释 ”)PHP脚本。…

        

为PHP-FPM和nginx设置多个进程池而安全地运行多个网站

为PHP-FPM和nginx设置多个进程池而安全地运行多个网站

在本文中,我们将向您展示在不同Linux用户的LEMP上运行站点的安全性和隔离性优势。这将通过为每个nginx服务器块(站点或虚拟主机)创建不同的php-fpm进程池来完成。

设置安全LEMP的原因

在常见的LEMP设置下,只有一个php-fpm进程池为同一用户下的所有站点运行所有PHP脚本。这带来两个主要问题:

  • 如果一个nginx服务器块上的Web应用程序(即子域或单独的站点)受到攻击,此服务器上的所有站点也将受到影响。攻击者能够读取其他站点的配置文件,包括数据库详细信息,甚至可以更改其文件。
  • 如果您想让用户访问服务器上的站点,您几乎可以访问所有站点。例如,您的开发人员需要处理开发环境。但是,即使拥有非常严格的文件权限,您仍然可以在相同的服务器上访问所有站点,包括您的主站点。
                

跨站请求伪造与 Same-Site Cookie

跨站请求伪造

跨站请求伪造(又被称为 CSRF 或者 XSRF ),它源自一个域网站向另一个域网站发起请求的简单功能。攻击者通过一些技术手段欺骗用户使用浏览器去访问一个自己曾经认证过的网站并执行一些敏感操作(如转账)。

一个域网站向另一个域的网站发起请求的方式有很多,例如点击一个超链接、加载静态资源、提交表单以及直接发起 ajax 请求等。如:

<a href="http://a.com/xx">点击有惊喜</a>    # 诱导用户点击

<img src="http://a.com/xx" >     # 浏览器默认加载资源 - 图片

<link href="http://a.com/xx" rel="stylesheet" >
        

跨站请求伪造已死!

跨站请求伪造已死!

在连续不断的被跨站请求伪造折磨了这么多年后,我们现在终于有了一个合理的解决方案。一个对网站拥有者没有技术负担、实施起来没有难度、部署又非常简单的方案,它就是 Same-Site Cookies。

和互联网历史一样悠久的跨站请求伪造

跨站请求伪造(又被称为 CSRF 或者 XSRF )似乎一直都存在着。它源自一个网站必须向另一个网站发出请求的简单功能。比如像在页面中嵌入下面的表单代码。

<form action="https://your-bank.com/transfer" method="POST" id="stealMoney">  
<input type="hidden" name="to" value="Scott Helme">  
<input type="hidden" name="account" value="14278935">  
<input type="hidden" name="amount" value="£1,000">复制代码

当你的浏览器载入这个页面之后,上面的表单将会由一个简单的 JS 片段来实现提交。

document.getElementById("stealMoney").submit();复制代码
        

2018安全的PHP系统构架指南

The 2018 Guide to Building Secure PHP Software!

前言

2018 年将至,一般程序员(特别是 Web 开发程序员)应当抛弃过去开发PHP程序的很多不好的习惯和观念了。虽然部分人不以为意,但是这确实是事实。

这个指南应该以重点部分作为 PHP: The Right Way 安全章节的补充,而不是以一般的 PHP 编程话题。

正文

PHP 版本

请在 2018 年使用 PHP 7.2, 并且计划 2019 年初切换到 PHP 7.3。

PHP 7.2 已于 2017 年 11