我想创建一个新的php web应用程序,如果我按照以下方式, 它我的网站安全吗?
答案 0 :(得分:6)
安全不是可以用来固定的东西 - 这是一个不断改进的过程。
addslashes
对您无效 - 您需要使用htmlentities
转发输出。如果你能得到这本书The Web Application Hacker's Handbook: Discovering and Exploiting Security Flaws。它充满了有用的建议。
而且,我会再说一遍 - 安全性不是一个特征 - 它是一种衡量标准。没有100%安全的应用程序(或任何实际的)。安全性的假设是打破它比它背后的更昂贵 - 如果你的网站正在处理金钱 - 你需要更多的安全 - 如果你正在处理礼品卡 - 你甚至可以在没有做你建议的事情的情况下逃脱(这将是是一个非常糟糕的主意,但仍然。)
答案 1 :(得分:1)
不幸的是,Web应用程序安全性有很多问题。我建议阅读OWASP Top 10。另外,请务必阅读#5 XSRF。
“逃避”输入并不是很多。数据可以以许多不同的不安全方式使用。例如,防止PHP的xss的最佳方法是:
htmlspecialchars($_GET['var'],ENT_QUOTES);
阻止mqlql sql注入的好方法是:
mysql_query("select * from mysql.user where id='".mysql_real_escape_string($id)."'");
确保在所有变量周围加上引号,否则查询将容易受到sql注入的影响。但是更加防弹的方法是使用参数化查询(adodb,pdo ......)。但是xss和sql注入只是冰镇的一角,更多的是可以出错的PHP。我建议阅读免费论文A Study in Scarlet,了解具体的PHP安全隐患。