ВНИМАНИЕ: Ваш IP XXXXXXXX не добавлен в список доступа к API!

Тема в разделе "Общие вопросы", создана пользователем SergeyGl, 7 янв 2016.

  1. SergeyGl

    SergeyGl Новичок

    Сообщения:
    14
    Симпатии:
    0
    перебрал весь форум. Не могу избавиться от этого предупреждения ВНИМАНИЕ: Ваш IP xxxxx
    не добавлен в список доступа к API!
    при редактировании заказов. За время тестирования сайта набралось немерено. Как решить, заказы не удаляются
     
  2. Ravilr

    Ravilr Специалист

    Сообщения:
    3.863
    Симпатии:
    1.059
    нажать кнопку добавить IP!! Не пробовали??

    765765.png
     
    Последнее редактирование: 7 янв 2016
    Elex34 и SergeyGl нравится это.
  3. SergeyGl

    SergeyGl Новичок

    Сообщения:
    14
    Симпатии:
    0
    Пробовал, но баг какой- то есть . найти не могу. к вечеру отпишусь как исправил, возможно какой то модуль дает ошибку
     
  4. SergeyGl

    SergeyGl Новичок

    Сообщения:
    14
    Симпатии:
    0
    Модули оказались не причем . Все в API. меняется постоянно. Почему еще не понял)) .Сейчас контролирую свой API и проблем нет.
     
  5. Vitaliybro

    Vitaliybro Новичок

    Сообщения:
    1
    Симпатии:
    0
    Расскажите по подробней как исправили эту ошибку?
     
  6. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    это издевательство какое то (( Неужели трудно посмотреть сообщение выше??

    Ничего бороть не надо, только нажать и так КАЖДЫЙ раз.
     
  7. SergeyGl

    SergeyGl Новичок

    Сообщения:
    14
    Симпатии:
    0
    Как то сейчас не беспокоит. Наверно сам был туповат ))))0 . Иногда добавляю АPI
     
  8. thomas8

    thomas8 Пользователь

    Сообщения:
    36
    Симпатии:
    7
    А затем станцевать перед баобабом в полночь, цитируя Шекспира?

    Серьезно, неужели нет способа обойти этот бред с привязкой к IP при редактировании заказов? Даже статус заказа не изменить! И смысл мне плодить лог-лист из динамических IP? Это ведь реально костыль кривой!
     
  9. thomas8

    thomas8 Пользователь

    Сообщения:
    36
    Симпатии:
    7
    Это не ошибка, а абсолютно нелогичная привязка API ключей к редактированию заказа ИЗ АДМИНИСТРАТОРСКОЙ ПАНЕЛИ. Логику Дэниэла в этом случае понять не могу.
     
  10. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    логику понять легко если хоть чуть чуть разбираться в коде. Редактирование заказа из аднинки происходит с помощью апи. Это апи находится на витрине. Т.е вы находитесь в админке, а на самом деле редактируете с витрины. И для опенкарт не важно в какой админке и какой вообще системы вы находитесь. У него него цель обезопасить изменение заказа, поэтому ему нужны пароль апи и ваш айпи адрес.

    А тут начинается интересное. Вам или безопасность или гибкость системы. Выбирайте. Убрать проверку по айпи не очень сложно, только потом не говорите что система дырявая. На данный момент только так, пока что нибудь новое не придумают в следующих версиях.
     
  11. thomas8

    thomas8 Пользователь

    Сообщения:
    36
    Симпатии:
    7
    Я выбираю удобство работы, а не геморрой при каждом малейшем движении по заказам. При выборе движка для сайта я остановился на Opencart не из-за его цены, а именно из-за его гибкости. Которую на данный момент только ломают.

    Если вам не сложно, поделите способом, думаю, очень многие, в том числе и я, будут вам благодарны. Я вот уже несколько дней не могу найти способ обойти эту защиту, сохранив при этом работоспособность движка
     
  12. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    Для снятии защиты с добавления истории.

    в файле \catalog\controller\api\login.php

    перед
    PHP:
    if (!$json) {    
    перед ним ставим
    PHP:
    $json false;

    далее в файле \catalog\controller\api\order.php в функции public function history() {

    перед
    PHP:
    if (!isset($this->session->data['api_id'])) {
    ставим
    PHP:
    $this->session->data['api_id'] = 1;
    и все это заплатки... а не "как нужно делать правильно"
     
    pavlpicasso, vikaharkov и thomas8 нравится это.
  13. thomas8

    thomas8 Пользователь

    Сообщения:
    36
    Симпатии:
    7
    Спасибо! Чтобы не трогать исходные файлы, набросал ocmod
    По тому же принципу можно снять защиту и с прочих действий при редактировании заказа
     

    Вложения:

    pavlpicasso, Relaxant, Valerii и ещё 1-му нравится это.
  14. thomas8

    thomas8 Пользователь

    Сообщения:
    36
    Симпатии:
    7
    У меня теперь другая проблема: после установки SSL всплывает сообщение error undefined
    при просмотре заказа. Все перепроверил, https прописан везде правильно. Заказы просматривать и редактировать могу, изменить статус не могу.
     
  15. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    и зачем данная проблема в данной теме? Решения есть на форуме, обсуждалось уже. Меняйте адрес в самих заказах.
     
    thomas8 нравится это.
  16. thomas8

    thomas8 Пользователь

    Сообщения:
    36
    Симпатии:
    7
    Не нашел решения на форуме, но разобрался сам. Вроде как это связано со изменением API ключа
     
  17. thomas8

    thomas8 Пользователь

    Сообщения:
    36
    Симпатии:
    7
    Не могли бы вы глянуть мой файл ocmod-а? Не хочет создаваться второй файл catalog/controller/api/order.php в system/storage/modification
    вроде все верно написал, но не работаеть..

    PHP:
    <?xml version="1.0" encoding="utf-8"?>
    <modification>
      <name>Снятие защиты с редактирования заказов</name>
        <code>HF34Gthf654GFJH8L2cL</code>
      <version>1.0.1</version>
      <author>noname</author>

      <file path="catalog/controller/api/login.php">
        <operation>
          <search><![CDATA[
            if (!$json) {
          ]]></search>
          <add position="before"><![CDATA[

            $json = false;   
           
          ]]></add>
        </operation>
      </file>
       
      <file path="catalog/controller/api/order.php">
        <operation>
          <search><![CDATA[
        public function history() {
            $this->load->language('api/order');

            $json = array();
          ]]></search>
          <add position="after"><![CDATA[

            $this->session->data['api_id'] = 1;
                   
          ]]></add>
        </operation>
      </file>
       
       
    </modification>
     
  18. mars1an

    mars1an Специалист

    Сообщения:
    629
    Симпатии:
    516
    ocmod не умеет serch нескольких строк, поэтому должно как-то так
    Код:
    <?xml version="1.0" encoding="utf-8"?>
    <modification>
      <name>Don't need API for history</name>
      <code>not_need_api_for_history</code>
      <version>1.0</version>
      <author>mars1an</author>
      <link>">http://forum.opencart-russia.ru/</link>
    
        <file path="catalog/controller/api/login.php">
            <operation>
                <search><![CDATA[
                    if (!$json) {
                ]]></search>
                <add position="before"><![CDATA[
                    $json = false;
                ]]></add>
            </operation>
        </file>
    
        <file path="catalog/controller/api/order.php">
            <operation>
                <search><![CDATA[
                    if (!isset($this->session->data['api_id'])) {
                ]]></search>
                <add position="before"><![CDATA[
                    $this->session->data['api_id'] = 1;
                ]]></add>
            </operation>
        </file>
    </modification>
     
  19. thomas8

    thomas8 Пользователь

    Сообщения:
    36
    Симпатии:
    7
    блин, а если у меня строка
    if (!isset($this->session->data['api_id'])) {
    повторяется в документе несколько раз, а вставка должна быть только в определенном блоке? Странный этот ваш ocmod...
     
  20. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    почитайте документацию пожалуйста! Есть даже тема где обсуждают окмод. В данной теме нет смысла обсуждать особенности окмода.