我想知道在我们创建一个动态网页时我们应该考虑的安全问题,这些网页在服务器和客户端之间处理大量数据,如Facebook,Google +,Paypal等。我们有许多恶意作品来破坏网页。像破解身份验证,Sql注入,会话劫持,跨站点脚本攻击。因此,PHP通过许多方法逐步变得更加安全....我只是举几个例子。
//for remove HTML Special characters
mysql_real_escape_string();
strip_tags()
stripshlashes()
/*and mysqli and PDO's prepared statements */
// for prevent Cross site script attacks
htmlspecialchars();
url_encode();
//filter client's data by using
filter_var();
//for prevent Session_hijacking attacks
session_regenerate_id()
和
使用AES等高级哈希算法加密数据,以保护数据机密。
通过SSL(安全套接字层)处理银行和货币交易
这种方法只适用于php安全吗?还有另一个吗?如果还有另一个,我们应该考虑什么?
正如评论所指出的那样,这是非常广泛的。 StackOverflow可能太宽泛了。
它太宽泛的原因是您需要处理的安全风险非常依赖于您的软件正在做什么。 mysql_real_escape_string()
是一种经常被滥用的工具,而不是解决安全问题的必备解决方案。
一个很长的答案是从a threat model开始然后咨询关于PHP安全性的detailed guide。