![]() |
|
|||||||
![]() |
|
|
Thread Tools | Display Modes |
|
#1
IP: 153.99.36.123
|
|||
|
|||
|
问题:
我看到有人通过自动下载配置或者网址上的链接重复进入网站 回答: Zen Cart的旧版本(V1.3.0,1.3.0.1,1.3.0.2)中,有一个黑客帝国宣布的代码漏洞。即使在后续版本中已被修复,黑客新手仍在继续试图寻找有漏洞的网站,因此还是会浪费你的时间和精力去担忧。他们的访问也在试图浪费网站服务器的一些资源。 此外,有一些SQL攻击悬浮在互联网周边,试图在漏统系统中发现可利用的漏洞。Zen Cart的当前版本对所有已知的漏洞有免疫力了。然而,有时甚至是“企图”在黑客上可以显示在服务器日志和whos-online entries(即使失败了),也可以是迷惑甚至震惊一些店主。因此,下面的代码改变可以提供一些平和的心态: 如果使用Zen Cart的1.3.x版本,添加以下内容到/includes/application_top.php 文件的顶部,有助于忽略这些游客和他们企图消耗系统资源的访问: /includes/application_top.php contains: "<?php"的第一行 在第二行的开头添加这个: /** * inoculate against hack attempts which waste CPU cycles */ $contaminated = (isset($_FILES['GLOBALS']) || isset($_REQUEST['GLOBALS'])) ? true : false; $paramsToAvoid = array('GLOBALS', '_COOKIE', '_ENV', '_FILES', '_GET', '_POST', '_REQUEST', '_SERVER', '_SESSION', 'HTTP_COOKIE_VARS', 'HTTP_ENV_VARS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_POST_FILES', 'HTTP_RAW_POST_DATA', 'HTTP_SERVER_VARS', 'HTTP_SESSION_VARS'); $paramsToAvoid[] = 'autoLoadConfig'; $paramsToAvoid[] = 'mosConfig_absolute_path'; $paramsToAvoid[] = 'hash'; $paramsToAvoid[] = 'main'; foreach($paramsToAvoid as $key) { if (isset($_GET[$key]) || isset($_POST[$key]) || isset($_COOKIE[$key])) { $contaminated = true; break; } } $paramsToCheck = array('main_page', 'cPath', 'products_id', 'language', 'currency', 'action', 'manufacturers_id', 'pID', 'pid', 'reviews_id', 'filter_id', 'zenid', 'sort', 'number_of_uploads', 'notify', 'page_holder', 'chapter', 'alpha_filter_id', 'typefilter', 'disp_order', 'id', 'key', 'music_genre_id', 'record_company_id', 'set_session_login', 'faq_item', 'edit', 'delete', 'search_in_description', 'dfrom', 'pfrom', 'dto', 'pto', 'inc_subcat', 'payment_error', 'order', 'gv_no', 'pos', 'addr', 'error', 'count', 'error_message', 'info_message', 'cID', 'page', 'credit_class_error_code'); if (!$contaminated) { foreach($paramsToCheck as $key) { if (isset($_GET[$key]) && !is_array($_GET[$key])) { if (substr($_GET[$key], 0, 4) == 'http' || strstr($_GET[$key], '//')) { $contaminated = true; break; } if (isset($_GET[$key]) && strlen($_GET[$key]) > 43) { $contaminated = true; break; } } } } unset($paramsToCheck, $paramsToAvoid, $key); if ($contaminated) { header('HTTP/1.1 406 Not Acceptable'); exit(0); } unset($contaminated); /* *** END OF INNOCULATION *** */ 使用此代码不会影响好的访问者,例如搜索引擎,只要他们试图访问的是你网站上的合法内容。它只阻止恶意的行为。 适用于Zen Cart的版本:1.3.0, 1.3.0.1, 1.3.0.2, 1.3.5, 1.3.6., 1.3.7, 1.3.8. 此建议修改代码(或它的变体)纳入Zen Cart v1.3.9及更高的版本。 |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|