QQ 1640076782

2010年01月30日

osc-网站安全性之更安全的数据库输入法

Filed under: 网站程序OSC — past @ 8:50 下午

osc-网站安全性之更安全的数据库输入法:

保护您的数据库XSS攻击网上商店里被保存HTML代码 ,仅这5秒修改。

修复了whois_online.php漏洞

该解决方案是编辑tep_db_input()函数。

具体解决方法:

**********************************************************************

在 includes/functions/database.php
和 admin/includes/functions/database.php

*** 找到***

function tep_db_input($string, $link = ‘db_link’) {
global $$link;

if (function_exists(‘mysql_real_escape_string’)) {
return mysql_real_escape_string($string, $$link);
} elseif (function_exists(‘mysql_escape_string’)) {
return mysql_escape_string($string);
}

return addslashes($string);
}

*** 替换为 ***

$allowable_tags = false
(string)’<b><i>’ for certain tags.
function tep_db_input($string, $link = ‘db_link’, $allowable_tags = false) {
global $$link;

if ($allowable_tags === false || is_string($allowable_tags)) {
$string = strip_tags($string, $allowable_tags);
}

if (function_exists(‘mysql_real_escape_string’)) {
return mysql_real_escape_string($string, $$link);
} elseif (function_exists(‘mysql_escape_string’)) {
return mysql_escape_string($string);
}

return addslashes($string);
}

**********************************************************************

例子:

*** 原始代码 (例子): ***

$example_query = tep_db_query(“update myTable set column=’”. tep_db_input($var) .”‘ where this=’that’ limit 1;”);

*** 允许所有标签,更改: ***

$example_query = tep_db_query(“update myTable set column=’”. tep_db_input($var, ‘db_link’, true) .”‘ where this=’that’ limit 1;”);

osc-网站安全性之更安全的数据库输入法,确保网站的安全性