伊图教程网[www.etoow.com]
http://www.etoow.com/html/2008-01/1200366433.html
过滤入流量,远离出流量(FIEO)
确实,FIEO是所有的程序员都应该牢记的安全咒语。
6.在PHP中编写安全程序不仅仅是编写一长串PHP代码就够了。
许多程序使用数据库或是类似的东西。很多情况下,导致整个应用程序漏洞的就是在构建SQL代码的时候。以下有一条简单的解决之道。
处理SQL字符串中的数字的时候,一定要计算。
即使你是在过滤入流量,一个简单而行之有效的安全策略就是把所有的数值都放到SQL报表中。我们以这个代码为例子。
$myId = filter_var($_GET['id'],FILTER_VALIDATE_INT);
$sql = 'SELECT * FROM table WHERE id = '.$myId;
尽管你使用的是PHP 5.2版本内置的php过滤器,你还可以有其它的选择,试一下下面这个:
$myId = filter_var($_GET['id'],FILTER_VALIDATE_INT );
$sql = 'SELECT * FROM table WHERE id = '.(int)$myId;
最后的变量就是变成一个int就会让所有的可以变量远离MySQL.上面的例子故意简化了。在实际情况中,代码更加复杂,产生错误的风险也更大。通过使用最后的计算构建一个精选的报表,这样你就提高了应用程序的安全等级。
7.当你使用session_regenerate_id()来阻止session固定的时候,最好是将之前的session ID移除。
实例脚本:
<?php
session_start();
$_SESSION['data'] = time();
session_regenerate_id();
?>
检测URL以及/tmp路径
PHP开发安全建议TOP20
'http://www.etoow.com/html/2008-01/1200366433.html