1,修改init.php文件,@ini_set('display_errors', 1);改為@ini_set('display_errors', 0);
2,修改cls_mysql.php文件的ErrorMsg函數,注釋掉那些錯誤提示,或者把錯誤寫入文件。
3,給所有$_COOKIE,$_POST,$_GET,$_REQUEST變量加sql關鍵字過濾。
4,修改后臺地址,不要使用默認的admin
5,如有可能去掉后臺的模板管理-》庫項目管理功能
6, 去掉后臺郵件編輯的權限,去掉訂單編輯的權限
7,如有可能,更改后臺cookies登錄的方式
修改如:cls_mysql
function ErrorMsg($message = '', $sql = '')
{
echo "Some Errors....pls check log file.";
if(!file_exists(ROOT_PATH.'data/sql_log'))
{
mkdir(ROOT_PATH.'data/sql_log');
}
if ($message)
{
$msg="ECSHOP inforn: $message";
}
else
{
$msg="MySQL server error report:rn".print_r($this->error_message,true);
}
@file_put_contents(ROOT_PATH.'data/sql_log/'.date('Y-m-d-H-i-s',time()).'.txt',$msg);
exit;
}
修改addslashes_deep函數:
該函數對數組的值和key都進行了addslashes處理,并且根據需要,還可以進行htmlspecialchars過濾。
在init.php文件
$_GET = addslashes_deep($_GET,true);
$_POST = addslashes_deep($_POST,true);
$_COOKIE = addslashes_deep($_COOKIE,true);
$_REQUEST = addslashes_deep($_REQUEST,true);
function addslashes_deep($value,$htmlspecialchars=false)
{
if (empty($value))
{
return $value;
}
else
{
if(is_array($value))
{
foreach($value as $key => $v)
{
unset($value[$key]);
if($htmlspecialchars==true)
{
$key=get_magic_quotes_gpc()? addslashes(stripslashes(htmlspecialchars($key,ENT_NOQUOTES))) : addslashes(htmlspecialchars($key,ENT_NOQUOTES));
}
else{
$key=get_magic_quotes_gpc()? addslashes(stripslashes($key)) : addslashes($key);
}
if(is_array($v))
{
$value[$key]=addslashes_deep($v);
}
else{
if($htmlspecialchars==true)
{
$value[$key]=get_magic_quotes_gpc()? addslashes(stripslashes(htmlspecialchars($v,ENT_NOQUOTES))) : addslashes(htmlspecialchars($v,ENT_NOQUOTES));
}
else{
$value[$key]=get_magic_quotes_gpc()? addslashes(stripslashes($v)) : addslashes($v);
}
}
}
}
else{
if($htmlspecialchars==true)
{
$value=get_magic_quotes_gpc()? addslashes(stripslashes(htmlspecialchars($value,ENT_NOQUOTES))) : addslashes(htmlspecialchars($value,ENT_NOQUOTES));
}
else{
$value=get_magic_quotes_gpc()? addslashes(stripslashes($value)) : addslashes($value);
}
}
return $value;
}
}
新聞熱點
疑難解答