PHP安全信息?

时间:2012-02-13 13:16:47

标签: php security

假设我有一个网站

  • 已安装PHP 5.3
  • 每个输出都是htmlspecialchars() ed。
  • PDO和预准备语句是与数据库交互的唯一方式
  • error_reporting()已关闭
  • 每个请求都传递给index.php(前端控制器),除了index.php通过.htaccess
  • 之外,不允许直接访问文件
  • 每个输入都被正确转义(我为什么要使用Prepared语句,用户输入怎么会搞乱我的代码?)
  • 没有使用evil()

它被认为是安全的吗?还有哪些其他方法可以修复以提高安全性?你怎么能攻击它?哈哈呢? PHP / Server端可以提高安全性吗?

7 个答案:

答案 0 :(得分:5)

查看此页面:PHP Security Guide。大多数攻击都有记录。如果在实施这些安全检查后,您仍然被黑客攻击,那么很可能问题不是来自您的PHP应用程序。

顺便说一下,正如@Jacco所说,我链接的文章有一些错误的内容。

  1. 使用预准备语句而不是mysql_real_escape_string(),但你已经这样做了。
  2. 关于腌制,请改为关注此答案:https://stackoverflow.com/a/401684/851498
  3. 最后,检查['type'](用于文件上传)是不安全的,因为恶意用户可以更改此值。相反,请参阅此链接的建议解决方案:http://www.acunetix.com/websitesecurity/upload-forms-threat.htm

答案 1 :(得分:2)

我记得当我开始进行网络开发时,我读到了关于清理数据的分配,创建了大量具有特定查询权限子集的mysql用户等。

它让您了解使用代码处理安全性的思维方式,而不是操作系统。

如果使用telnet连接到控制台,或者使用ftp进行身份验证,那么所有这些都有用吗?

我想我应该切入点。我认为像php mysql等现代开源技术已经构建了许多安全功能,这给了我一种虚假的安全感。

与通过蛮力攻击攻击控制台相比,通过这些技术可以造成的伤害可以忽略不计。如果我是你,我会担心更多关于打造一个合适的防火墙,并且只允许端口80或您需要的最少端口。如果启用控制台访问权限,我只允许使用桌面IP等。

并确保您是否曾发送密码,即通过ssl加密

答案 2 :(得分:1)

没有绝对的安全保障,您可以在上面的答案中添加以下内容:

  • 如果您允许上传文件,请务必进行mime检查;
  • 确保公众无法上传无限量的文件 超载并最终杀死你的服务器;
  • 如果您拥有服务器,请确保您的网站没有其他弱门,您可以花费数百万美元使您的网站免受任何类型的攻击,但如果有人通过托管在同一服务器上的其他网站获得访问权限,你运气不好;
  • 使用像acunetix,skipfish;
  • 等漏洞扫描程序
  • 如果您拥有服务器,请确保您了解服务器上运行的软件版本(PHP / Apache / MySQL)。订阅以获取供应商的更新;
  • 如果预算允许,您可以向某人提供奖励,以便在代码的DEV版本中找到安全漏洞;
  • 使用以下产品:https://www.cloudflare.com/features-security

答案 3 :(得分:0)

安全性是任何产品的一个主要问题,并且它不能通过一些手指计数策略来实现,但它们很重要,因此代码中的每个地方都会认为负面的可能性并且反对它们以防止它们。

你必须做的其他事情

  1. 以db
  2. 中的加密格式存储敏感数据
  3. 清理每个用户输入数据的XSS

答案 4 :(得分:0)

重要的是要注意“安全”是基于上下文的术语。这在很大程度上取决于您的需求,并且有些公司(我在看着你)谷歌甚至根本不考虑安装PHP。

如果你在一家大公司工作,我建议雇用专业人士的服务。我从朋友那里听说这家公司对所有大公司进行了检查,这似乎很可能因为他们是分发Kali Linux的人

https://www.offensive-security.com/offensive-security-solutions/penetration-testing-services/

答案 5 :(得分:0)

还可能存在多个其他问题,例如会话问题,敏感信息枚举,授权和身份验证问题等等。传统的安全编码指南无法解决业务逻辑绕过等问题。但是,查看PHP Security Cheat SheetOWASP PHP Security Project对于了解安全问题的大局非常有帮助。

答案 6 :(得分:0)

您可以通过解决RIPSTech(https://www.ripstech.com/php-security-calendar-2017/)的PHP安全挑战或阅读他们在流行的PHP应用程序中发现的真实漏洞的文章来了解有关利用PHP安全问题和相关攻击技术的更多信息({{3 }})