Перейти к содержимому


Фотография
- - - - -

Индексируются заказы клиентов


Лучший Ответ SmetDenis , 26 December 2013 - 03:33

Ссылка на заказ от зарегистрированного пользователя
http://demo.jbzoo.co...-demoexamplecom

Ссылка на анонимный заказ
http://demo.jbzoo.co...26-062144-gmt-1

Попробуйте изменить код проверки

if (!$user->id) {
    JError::raiseError('Access denied', 500);
}

if ($user->id != $item->created_by) {
    JError::raiseError('Access denied', 500);
}
У нас сегодня выходит версия 2.1.2, я добавлю туда некоторые изменения с правами доступа, чтобы заказы не отображались в карте сайта (или других сторонних расширениях), чтобы проверка была на уровне базы данных, а не в шаблоне. Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 15

#1 topins

topins

Отправлено 23 December 2013 - 10:14

Каким образом заказы оформленные на сайте попадают в индекс поисковиков?!! И как это можно отключить без удаления самих заказов?

 

52b7fe4d888b9d0ed0dfea93.png

 

 

 


  • 0

#2 IPname

IPname

Отправлено 23 December 2013 - 10:16

я думаю так надо поступить

 

http://forum.jbzoo.c...ikatciyu-zakaz/


  • 0
Иной толкает пылесос, который нужен мне едвали, Изжога, перхоть и понос, О Боже, как Вы задолбали. Я не хотел бы Вас ругать, к больным мозгам претензий нету, Но раздается"Вашу мать"тебе в ответ по интернету

#3 topins

topins

Отправлено 23 December 2013 - 10:46

я думаю так надо поступить

 

http://forum.jbzoo.c...ikatciyu-zakaz/

если отключить публикацию заказов то появляются 2 вопроса:

  1. Будут ли заказы показываться в кабинете клиента?
  2. Будут ли приходит уведомления о новом заказе?

И вообще вота фак какого хрена так работает движок?  Где приватность личной информации заказчиков? Даже слов для возмущения не хватает. Или так и задумано?


  • 0

#4 SmetDenis

SmetDenis

Отправлено 23 December 2013 - 10:56

Смотрю на демо-сайте.

Если зайти под demo/demo и скопировать ссылку на страницу заказа, напрмер
http://demo.jbzoo.co...-demoexamplecom

То при анонимной входе по ссылке будет видно
3bp_200x0.png

Для этого тут стоит проверка - если текущий пользователь не равен автору материала(заказа) то выкинет ошибку.
\media\zoo\applications\jbuniversal\templates\catalog\renderer\item\order\full.php
xp7_200x0.png
$user = JFactory::getUser();

if ($user->id != $item->created_by) {
    JError::raiseError('Access denied', 500);
}
Ссылки на заказ видно только если авторизоваться, в поиске не должны попадаться
ejt_200x0.png

 

Будут ли заказы показываться в кабинете клиента?

Только если проставлен автор и материал опубликован.
 

Будут ли приходит уведомления о новом заказе?

Да, должны.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 topins

topins

Отправлено 23 December 2013 - 11:21

Так и не понял ответа на свой вопрос при таком раскладе:

  1. Клиент оформляет заказ без авторизации на сайте. Так бывает в 99% случаев.
  2. Заказ автоматически публикуется и становится виден для поисковиков (или это баг только у меня?) При этом настройки заказа по умолчанию (публикация - да, закрыт для поиска  и автор - "User"

Вы мне описываете пример заказа на пользователе, который авторизовался перед заказом с сайта. Я описываю сценарий, где пользователь оформляет заказ БЕЗ входа на сайт. Как себя ведет движок и почему данные такого заказа сразу становятся общедоступными?


  • 0

#6 Sliapy

Sliapy

Отправлено 23 December 2013 - 11:45

Не уверен, как поисковые системы находят заказы, если они при не авторизированном пользователе, на сколько я понимаю, нигде на сайте не выводятся. 

 

Для верности можете сделать так:

 

Зайдите в media\zoo\applications\jbuniversal\templates\catalog\renderer\item\order\full.php

 

и вставьте после кода 

defined('_JEXEC') or die('Restricted access');

этот код

$document = JFactory::getDocument();
$document->setMetaData('robots', 'noindex, nofollow');

  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#7 SmetDenis

SmetDenis

Отправлено 23 December 2013 - 12:36

Заказ автоматически публикуется и становится виден для поисковиков (или это баг только у меня?) При этом настройки заказа по умолчанию (публикация - да, закрыт для поиска  и автор - "User"

Если у вас заказы создаются анонимно, то личного кабинета у пользователя не может быть.

Потому, в принципе можно вообще отключить публикацию материла. Вот тут указать "0" вместо "1".
4o0_200x0.png

Отключенную анонимную публикацию никто не увидит по прямой ссылке.
Администратору это не должно создать помех при просмотре из панели управления.

Ссылки в поисковую машину могли попасть разными способами, например через xml-карту сайта.
Затрудняюсь сказать точно.

Например на демо-сайт их точно никто не видит, даже если они анонимные, опубликованные и имеют публичный доступ
Вот свежие данные
g0h_200x0.png

У вас есть в шаблоне full проверка?
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 topins

topins

Отправлено 23 December 2013 - 14:32

Например на демо-сайт их точно никто не видит, даже если они анонимные, опубликованные и имеют публичный доступ
Вот свежие данные
g0h_200x0.png

У вас есть в шаблоне full проверка?

Вот с этого места подробнее плиз. Какая проверка должна быть и как проверить, что бы заказы имели статус:

  1. анонимных
  2. опубликованных
  3. скрытых от публичного просмотра

И хотелось бы понять, почему на моем сайте это не срабатывает?  На данный момент, при создании нового анонимного заказа,можно запросто перейти по ссылке и увидеть все данные :(


Сообщение отредактировал topins: 23 December 2013 - 14:33

  • 0

#9 SmetDenis

SmetDenis

Отправлено 23 December 2013 - 14:43

Я не знаю всех тонкостей реализации вашего сайта.

Добавьте в шаблон full заказа такой код
\media\zoo\applications\jbuniversal\templates\catalog\renderer\item\order\full.php
 
$user = JFactory::getUser();
if (!$user->id || ($user->id != $item->created_by)) {
    JError::raiseError('Access denied', 500);
}
Это не даст анонимным и посторонним пользователям просматривать заказы.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#10 topins

topins

Отправлено 23 December 2013 - 15:09

Я не знаю всех тонкостей реализации вашего сайта.

Добавьте в шаблон full заказа такой код
\media\zoo\applications\jbuniversal\templates\catalog\renderer\item\order\full.php
 

$user = JFactory::getUser();
if ($user->id || ($user->id != $item->created_by)) {
    JError::raiseError('Access denied', 500);
}
Это не даст анонимным и посторонним пользователям просматривать заказы.

 

 

Все работает в штатном формате, в код не лезу, так как баран. Новый код сменил - не помогло. Вот файл full ( с новым кодом) Прикрепленный файл  full.php   1.8К   40 Количество загрузок:

 

Вот код xml ссылки (карта сайта) Поисковики действительно через него подтягивают данные...

<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<url>
<loc>
http://madein.com.ua/item/zakazy-id-2013-12-23-155540-gmt-2
</loc>
<news:news>
<news:publication>
<news:name/>
<news:language>ru</news:language>
</news:publication>
<news:publication_date>2013-12-23T11:55:40Z</news:publication_date>
<news:title>
<![CDATA[ Заказы #184 / 2013-12-23 15:55:40 (GMT 2) ]]>
</news:title>
</news:news>
</url>
</urlset>

Вот ссылка на тестовый заказ (с публичным доступом)

 

Можно конечно просто удалять заказы сразу после публикации, но это гимор, т.к. за этим надо постоянно следить.


Сообщение отредактировал topins: 23 December 2013 - 15:13

  • 0




Click to return to top of page in style!