Категории

[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 - это обратная связь??? если его убрать???


выводит еще информационные страницы.
я выше писал - замените этот файл из вновь скачанного дистрибутива.


Источник



Copyright ShopOS