Категории
[FAQ] Часто задаваемые вопросы и ответы
Проблемы и решения
Ошибки и исправления
Общие вопросы
Расширения
Установка и обновление
Модули
Шаблоны
Локализация интерфейса
Коммерческие предложения
Учимся бизнесу
Бизнес книги
Поисковая оптимизация (SEO)
Магазины на ShopOS
Хостинг для ShopOS
Предложения и пожелания
Курилка
|
помогите, отправили сайт в карантин за рассылку, указали /shop_content.php где??
<?php /* ##################################### # ShopOS: Скрипт интернет-магазина # Copyright (c) 2008-2009 # http://shopos.ru # Ver. 1.0.0 ##################################### */
// check if customer is allowed to send this order! $order_query_check = os_db_query("SELECT customers_id FROM ".TABLE_ORDERS." WHERE orders_id='".$insert_id."'");
$order_check = os_db_fetch_array($order_query_check); if ($_SESSION['customer_id'] == $order_check['customers_id']) {
// Modified by IGonza // global $order; $order = new order($insert_id); // End Modified by IGonza
$osTemplate->assign('address_label_customer', os_address_format($order->customer['format_id'], $order->customer, 1, '', '<br />')); $osTemplate->assign('address_label_shipping', os_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br />')); if ($_SESSION['credit_covers'] != '1') { $osTemplate->assign('address_label_payment', os_address_format($order->billing['format_id'], $order->billing, 1, '', '<br />')); } $osTemplate->assign('csID', $order->customer['csID']);
$it=0; $semextrfields = osDBquery("select * from " . TABLE_EXTRA_FIELDS . " where fields_required_email = '1'"); while($dataexfes = os_db_fetch_array($semextrfields,true)) { $cusextrfields = osDBquery("select * from " . TABLE_CUSTOMERS_TO_EXTRA_FIELDS . " where customers_id = '" . (int)$_SESSION['customer_id'] . "' and fields_id = '" . $dataexfes['fields_id'] . "'"); $rescusextrfields = os_db_fetch_array($cusextrfields,true);
$extrfieldsinf = osDBquery("select fields_name from " . TABLE_EXTRA_FIELDS_INFO . " where fields_id = '" . $dataexfes['fields_id'] . "' and languages_id = '" . $_SESSION['languages_id'] . "'");
$extrfieldsres = os_db_fetch_array($extrfieldsinf,true); $extra_fields .= $extrfieldsres['fields_name'] . ' : ' . $rescusextrfields['value'] . "\n"; $osTemplate->assign('customer_extra_fields', $extra_fields); } $order_total = $order->getTotalData($insert_id); $osTemplate->assign('order_data', $order->getOrderData($insert_id)); $osTemplate->assign('order_total', $order_total['data']);
// assign language to template for caching $osTemplate->assign('language', $_SESSION['language']); $osTemplate->assign('tpl_path', _THEMES_C); $osTemplate->assign('logo_path', _HTTP_THEMES_C.'/img/'); $osTemplate->assign('oID', $insert_id); if ($order->info['payment_method'] != '' && $order->info['payment_method'] != 'no_payment') { include (DIR_FS_DOCUMENT_ROOT.'/modules/payment/'.$order->info['payment_method'].'/'.$_SESSION['language'].'.php'); $payment_method = constant(strtoupper('MODULE_PAYMENT_'.$order->info['payment_method'].'_TEXT_TITLE')); } $osTemplate->assign('PAYMENT_METHOD', $payment_method); if ($order->info['shipping_method'] != '') { $shipping_method = $order->info['shipping_method']; } $osTemplate->assign('SHIPPING_METHOD', $shipping_method); $osTemplate->assign('DATE', os_date_long($order->info['date_purchased']));
$osTemplate->assign('NAME', $order->customer['name']); $osTemplate->assign('COMMENTS', $order->info['comments']); $osTemplate->assign('EMAIL', $order->customer['email_address']); $osTemplate->assign('PHONE',$order->customer['telephone']);
// PAYMENT MODUL TEXTS // EU Bank Transfer if ($order->info['payment_method'] == 'eustandardtransfer') { $osTemplate->assign('PAYMENT_INFO_HTML', MODULE_PAYMENT_EUTRANSFER_TEXT_DESCRIPTION); $osTemplate->assign('PAYMENT_INFO_TXT', str_replace("<br />", "\n", MODULE_PAYMENT_EUTRANSFER_TEXT_DESCRIPTION)); }
// MONEYORDER if ($order->info['payment_method'] == 'moneyorder') { $osTemplate->assign('PAYMENT_INFO_HTML', MODULE_PAYMENT_MONEYORDER_TEXT_DESCRIPTION); $osTemplate->assign('PAYMENT_INFO_TXT', str_replace("<br />", "\n", MODULE_PAYMENT_MONEYORDER_TEXT_DESCRIPTION)); }
// WebMoney if ($order->info['payment_method'] == 'webmoney') { $osTemplate->assign('PAYMENT_INFO_HTML', MODULE_PAYMENT_WEBMONEY_TEXT_DESCRIPTION); $osTemplate->assign('PAYMENT_INFO_TXT', str_replace("<br />", "\n", MODULE_PAYMENT_WEBMONEY_TEXT_DESCRIPTION)); }
// Yandex if ($order->info['payment_method'] == 'yandex') { $osTemplate->assign('PAYMENT_INFO_HTML', MODULE_PAYMENT_YANDEX_TEXT_DESCRIPTION); $osTemplate->assign('PAYMENT_INFO_TXT', str_replace("<br />", "\n", MODULE_PAYMENT_YANDEX_TEXT_DESCRIPTION)); }
// dont allow cache $osTemplate->caching = false;
$html_mail = $osTemplate->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/order_mail.html'); $txt_mail = $osTemplate->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/order_mail.txt'); /* Begin sms - installed by Установка модулей */
$sms_text = $osTemplate->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/order_mail_sms.txt'); /* End sms - installed by Установка модулей */
// create subject $order_subject = str_replace('{$nr}', $insert_id, EMAIL_BILLING_SUBJECT_ORDER); $order_subject = str_replace('{$date}', strftime(DATE_FORMAT_LONG), $order_subject); $order_subject = str_replace('{$lastname}', $order->customer['lastname'], $order_subject); $order_subject = str_replace('{$firstname}', $order->customer['firstname'], $order_subject);
// send mail to admin os_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, EMAIL_BILLING_ADDRESS, STORE_NAME, EMAIL_BILLING_FORWARDING_STRING, $order->customer['email_address'], $order->customer['firstname'], '', '', $order_subject, $html_mail, $txt_mail); /* Begin sms - installed by Установка модулей */
$sms_numbers=SMS_NUMBERS; @include_once _CLASS.'translit.class.php'; $translit = new translit; $sms_text=$translit->get_translit(iconv("UTF-8","cp1251",$sms_text)); // разбивка на сообщения $portion = 115; // кол-во символов в одном сообщении $sms_count = ceil(strlen($sms_text)/$portion); // кол-во сообщений /* for ($i=0; $i<$sms_count; $i++){ $sms_text_send="(sms".($i+1)."/".$sms_count.") ".substr($sms_text,($i*$portion),$portion); os_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $sms_numbers, '', '', '', '', '', '', '', '', $sms_text_send, "windows-1251"); sleep(1); // чтобы сообщения приходили по очереди } /* End sms - installed by Установка модулей */
// send mail to customer os_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, $order->customer['email_address'], $order->customer['firstname'].' '.$order->customer['lastname'], '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '', $order_subject, $html_mail, $txt_mail);
if (AFTERBUY_ACTIVATED == 'true') { require_once (DIR_WS_CLASSES.'afterbuy.php'); $aBUY = new os_afterbuy_functions($insert_id); if ($aBUY->order_send()) $aBUY->process_order(); }
} else { $osTemplate->assign('ERROR', 'You are not allowed to view this order!'); $osTemplate->display(CURRENT_TEMPLATE.'/module/error_message.html'); } ?>
какие-то еще уведомления SMS. Кто-то мод ставил или это спецом для рассылок кто-то врезал скрипт, ибо никаких sms в шопосе нет. замените этот файл из вновь скачанного дистрибутива.
а как защитить от такой ерунды???
без понятия. шопос какой версии? если открытых дыр нет, то возможно, что кто-то из тек, кто работал над вашим сайтом и сунул этот мод.
в .masterhost сказали - "На этой странице у Вас располагается форма обратной связи не защищенная даже простейшей captcha. Вам следует произвести проверку сайта на уязвимости и устранить их." а версию я не помню, загружал года три назад, сайт отключен и не посмотреть..
ну так у вас уязвимый сайт. в корне движка посмотрите файл VERSION там версия описана. http://www.shopos.ru/forum/index.php?topic=6706.0 http://www.shopos.ru/forum/index.php?topic=6560.0
а shop_content.php - это обратная связь??? если его убрать???
выводит еще информационные страницы. я выше писал - замените этот файл из вновь скачанного дистрибутива.
Источник
|