首 页 ASP ASP.NET PHP JSP Ajax DIV+CSS JavaScript XML C#
MySQL MSSQL Access Oracle Linux Server 电脑技巧 网络安全 建站经验 其它

PHP开发安全建议TOP20

整理日期:2008年01月15日 【字体:


伊图教程网[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路径
Tags:
PHP开发安全建议TOP20
'http://www.etoow.com/html/2008-01/1200366433.html
1
 
234
信息搜索
  
联系我们关于本站广告服务设为首页 收藏本站友情链接网站地图
Copyright © Etoow.com Inc. All Rights Reserved