Код состояния forbidden ошибка access denied яндекс маркет

403 ошибка говорит о запрете доступа, то есть Яндекс.Маркет отправляет запросы на адрес, к которому ему не предоставлен доступ.

Варианты причин:

1) Входящий токен в настройках не введён или ввёден неверно.

2) Введён одинаковый входящий токен для двух моделей.

3) Не включена работа по модели (галочка не активна).

4) Проверьте, что «Способ авторизации» в личном кабинете выбран «URL». https://yadi.sk/i/66CU3fEnJhLi…

5) Кто-то блокирует входящие запросы (например, так может делать приложение Firewall).

6) На некоторых хостингах в стандартной конфигурации сервера могут быть заблокированы обращения роботов (например, так происходит на firstvds.ru)

Интеграция 1С с Яндекс.Маркетом в расширении конфигурации

Один из крупнейших торговых площадок России – это проект «Яндекса» и Сбербанка. Площадка работает с марта 2018 г.. С лета 2020 года площадка Яндекс.Маркет полностью принадлежит Яндексу

Предлагаемое здесь расширение является доработкой шаблона модуля «Размещение на маркетплейсе Яндекс.Маркета»  для  «1С:Предприятия» . Модуль интеграции, который бесплатно предлагает Яндекс имеет много ошибок в программном коде процедур и функций работы с методами API и невозможно его внедрять без доработки.

На данный момент мое расширение имеет версию 1.8.7.21 и адаптировано для работы в облаке . Расширение содержит исходный модуль Яндекса версии 1.8.7 и около 21 исправлений программного кода этого модуля Расширение позволяет :

  • Устанавливать связи между вашим товарами и товарами на маркетплейсе.
  • Управлять ценами на товары при помощи стратегий продаж.
  • Подтверждать заказы, отправлять информацию о грузовых местах, передавать информацию об остатках, а также распечатывать ярлыки‑наклейки и акты приема‑передачи (только для модели FBS (Fulfillment by Seller, продажи с фулфилментом магазина) — вы сами храните и упаковываете заказы).

Тестирование работы расширения в облаке

Тестирование расширение  возможно только в облаке., например в 42Clouds- проект занимается оказанием услуг по аренде 1С. Для того, чтобы протестировать расширение Вы должны зарегистрироваться по ссылкам, указанным ниже в зависимости от интересующей конфигурации . После того, как пройдете регистрацию будет сразу активизирован сервис и доступ к тарифу в облаке, который Вы выберите.  У вас будет 7 дней бесплатного доступа.

Конфигурация «1С:Предприятия» Ссылка на тестирование
1С:Управление торговлей 11 Здесь
1С:Комплексная автоматизация 2.4 Здесь
1С:Управление нашей фирмой 1.6 Здесь
Ссылки на тестирование расширения в облаке

Последняя цифра в версии расширения соответствует версии моих доработок. Для приобретения моего доработанного расширения обращайтеcь ко мне на почту master1c8x@mail.ru

Для того, чтобы работать с расширение и получить заказы от Маркета нужно сначала пройти регистрацию в личном кабинете Яндекс.Маркет.. Как зарегистрироваться в личном кабинете можно посмотреть здесь

Основные доработки модуля в расширении.

  1. Изменен механизм работы с регламентным заданием выгрузки цен на маркетплейс – Не требуется устанавливать дополнительную внешнюю обработку “Фоновая выгрузка цен на маркетплейс” для запуска по расписанию регламентное задание . Достаточно установить файл расширения и настроить расписание фонового задания Это возможно благодаря тому, что используется механизм собственных регламентных заданий в расширении , описанный мной здесь
  2. Удален функционал авто обновления расширения. Данный функционал не допустим для работы в облаке ,
  3. Добавлена роль “Раздел Интеграция с Яндекс.Маркетом” для доступа неполноправных пользователей к разделу ( в режиме совместимости 8.3.14 и выше)
  4. Исправлены ошибки в модуле и оптимизированы запросы. Исправлены ошибки в программном коде многих процедур и функций. Оптимизированы плохо написанные запросы , которые соблюдают требования 1С по оптимизации запросов
  5. Удалена форма проверки обновлений – В расширении удален функционал обновления расширения и соответственно форма проверки обновлений удалена из интерфейса. Механизм проверки обновлений не допустим при работе в облаке ,

Следует отметить, что Яндекс.Маркет предоставляет партнерам 4 модели работы с партнерами. Особенности работы по моделям продаж можно подробнее здесь

  1. Модель работы FBY (Fulfillment by Yandex, продажи с фулфилментом Яндекса) – Партнер самостоятельно поставляет товары на склады маркетплейса.
  2. Модель работы FBS (Fulfillment by Seller, продажи с фулфилментом магазина) – Партнер обрабатывает и упаковывает заказы, затем отгружает в сортировочный центр или пункт приема.
  3. Модель работы FBY+ (Fulfillment by Yandex +, поставка под заказ) – Партнер поставляет товары на склады маркетплейса после получения заказа от него. Упаковывает и доставляет товары маркетплейс.
  4. Модели DBS (Delivery by Seller) -Продажи с доставкой магазина)

HTTP сервисы расширения

Яндекс.Маркет (далее МК) использует HTTP сервисы магазина для отправки и получения информации о заказах. В модуле интеграции Яндекса имеются 2 идентичные сервисы по назначению. Мне не понятно почему, но я оставил оба сервиса в моем расширении потому, что я не знаю к какому сервису обращается МК (см рис )

Рис 1. Идентичные HTTP сервисы по назначению в расширении

Методы HTTP сервисы

Каждый сервис имеет 4 post – метода и один get метод. При обращении к методам всегда проверяется Авторизация. Если она пройдена возвращается код состояние 401

  • Функция StocksPOST(Запрос) – МК  передает список  SKU  товаров  магазину для получения  наличия товаров.  , иначе магазин передает на  МК  доступные остатки для продажи .   Для выполнения запроса МК должны быть настроен обмен и синхронизированы по SKU номенклатура магазина. Если синхронизация не настроена магазин возвращает нулевые остатки на все запрашиваемые товары. Отмечу, что  запрос получения остатков оптимизирован в моем расширении и работает на 50 % быстрее,  чем   в шаблоне расширения у Яндекса.
  • Функция CartPOST(Запрос) – Когда покупатель начинает оформление заказа, магазину поступает запрос  с целью актуализации данных по наличию товаров, которые находятся в корзинке пользователя, Ответ магазина должен содержать актуальные данные. магазин возвращает  наличие и цену  в модели FBS , а также параметры доставки в модели  DBS, Отмечу, что  запрос получения остатков и цен товаров в корзинке пользователя  в модели FBS  и  DBS   оптимизирован в моем расширении и работает на 50 % быстрее,  чем   в шаблоне расширения у Яндекса.  
  • Функция  OrderAcceptPOST(Запрос) – Когда покупатель завершает оформление заказа, на стороне Маркета формируется заказ со статусом "RESERVED" (зарезервирован), а магазину поступает запрос на принятие заказа. Магазин должен отправить ответ с подтверждением принятия заказа ("accepted": true) или с отказом от заказа ("accepted": false).   Магазин всегда принимает новый заказ. Однако если возникает ошибка создании заказа в базе данных возвращает отказ от заказа. Отмечу, что я не нашел ошибки в   программном коде процедуры создания заказа и формирования ответа по заказу и поэтому в моем расширении эти процедуры не тронуты. Однако, в этом обработке запроса могут возникать не запрограммированные ошибки, особенно, при сохранении заказов в базе данных
  • Функция OrderStatusPOST(Запрос) –  Маркет отправляет магазину данные о статусе заказа. Статус зависит от способа оплаты. Если Оплата при оформлении, то Маркет отправляет магазину запрос  со статусом заказа «UNPAID” (не оплачен). У покупателя есть 30 минут, чтобы оплатить заказ. После оплаты Маркет отправляет магазину запрос  со статусом заказа “PROCESSING” (обрабатывается) — магазин может обрабатывать заказ. Если заказ не оплачен в течение 30 минут, Маркет отправляет магазину запрос  со статусом заказа “CANCELLED” (отменен). Если Оплата при получении, то МК отправляет магазину запрос  со статусом заказа  “PROCESSING” (обрабатывается) — магазин может обрабатывать заказ.
  • Функция GetYML(Запрос) – В этом методе МК запрашивает у магазина  файл YML (Yandex Market Language) – стандарт, разработанный «Яндексом» для принятия и публикации информации в базе данных Яндекс.Маркет.  YML основан на стандарте XML (Extensible Markup Language).   Для получения YML  файла необходимо установить модель работы DBS в настройках интеграции . Если у магазина  указана модель работы FBS возвращается код состояния ответа  400 .

Порядок работы с расширением

1. Подключение расширения

Для подключения расширения нужно воспользоваться стандартной обработкой “Управление расширениями конфигурации” и добавить расширение из файла и отключить опции Безопасный режим, имя профиля и Защита от опасных действий для расширения.

Рис 2. Форма стандартной обработки управления расширениями

После подключения расширения нужно перезапустить сеанс , чтобы появился новый раздел МаркетплейсБеру_Яндекс (См. рис 3) в панели разделов конфигурации.

Рис 3. Интерфейс старой версии 1. 7. 41.8

Подробнее об установке и настройке модуля интеграции можно посмотреть в следующем видео ( Однако, установка внешней дополнительной обработки для настройки расписания передач цен не требуется в моем доработанном модуле) :

2. Подготовка сервиса и веб‑сервера

Чтобы начать обрабатывать заказы, необходимо подготовить сервис «1С:Предприятия» и веб‑сервер, на который маркетплейс будет отправлять запросы. Именно при помощи API‑запросов происходит взаимодействие по обработке заказов между маркетплейсом и «1С:Предприятием».

Подробное описание подготовки сервиса и веб сервиса можно посмотреть здесь

Подготовка сервиса и веб сервиса понадобится  партнерам, подключенным к маркетплейсу Яндекс.Маркета по модели FBS (Fulfillment by Selle) – вы сами храните и упаковываете заказы. Подробнее о моделях работы см. в Справке Маркета для моделей FBY, FBY+ и FBS.

Порядок действии по инструкции :

  • Опубликуйте сервис на веб‑сервере
  • Редактирование файла публикации в соответствии с инструкциями
  • Установка SSL-сертификат на Вашем веб -сервере
  • Установить ссылку на сервис в личном кабинете на Яндессе. Ссылка устаналивается на странице Настройки → Настройки API в личном кабинете для партнеров Маркета.

Форма публикации базы данных на веб – сервере открывается в конфигураторе в разделе Администрирование → Публикация на веб‑сервере. и показано на рис. 3

Рис 3 Форма публикации

3. Авторизоваться на маркетплейсе

Перед началом работы необходимо авторизоваться пункте “Авторизация”( См. рис 4) :

Рис 4 Форма авторизации на Яндекс.Маркет с модуля

В форме авторизации нужно указать

  •  Номер кампании, который присваивается при регистрации на маркетплейсе (Его можно посмотреть в личном кабинете маркетплейса.), на маркетплейсе
  •  Токен можно получить автоматически. Для этого нажмите кнопку Получить токен. Если вы авторизованы в личном кабинете, откроется окно браузера с вашим токеном. Если вы не авторизованы, выберите логин (при необходимости введите пароль), на который вы регистрировали магазин. Затем откроется окно с вашим токеном.

Важно!. Для работы с маркетплейсом используется 3 вида токена:

  1. oAuth токен, для авторизации обращений от магазина к Маркету – https://yandex.ru/dev/market/partner-marketplace-cd/doc/dg/concepts/authorization.html
  2. Есть токен для авторизации обращений от Маркета к магазину – https://yandex.ru/dev/market/partner-marketplace-cd/doc/dg/concepts/identification.html
  3. Есть отладочный токен (Debug ключ) – его можно получить через службу поддержки для того, чтобы мы могли получить более детальные логи обращения. Он передаётся дополнительным параметром при вызове обращений к Маркету. 

4. Установить расписания

Механизм запуска фонового задания по расписанию усовершенствован . Достаточно открыть пункт Настройка расписания и установить нужное расписание. Для оптимальной работы модуля рекомендуется, чтобы цены отправлялись каждый день раз в час ( См рис)

Рис 5 Фома установки расписания выгрузки цен

Есть возможность запустить задание сейчас в фоновом режиме. Если задание выполняется , то процедура “Выполнить сейчас” выдает не ожидает его совершение и сообщает об этом пользователю .

5. Источники данных о товарах

Перед тем как сопоставлять ваши товары с карточками на маркетплейсе, вам нужно указать источники данных откуда брать  информацию о товарах.

Выберите параметр из выпадающего списка, отметьте раздел в 1С, где хранится информация об этом параметре, и нажмите кнопку «Выбрать». В блоке справа для указанного раздела подставьте в поле нужное значение, нажав на элемент «…». Повторите тоже самое для каждого параметра и сохраните результат.

Рис 6 Форма Источники данных , откуда брать  информацию о товарах.

В источниках данных хранятся параметры:

  • изготовитель, страна производства, торговая марка — обязательно для всех товаров;
  • срок годности, срок службы, гарантийный срок —  обязательно для некоторых категорий товаров, например, продуктов питания или бытовой техники.
  • ваш SKU — необязательно. Если вы не укажете источник данных, SKU будут сгенерированы автоматически.

6. Сопоставление товаров с карточками на маркетплейсе Яндекс.Маркета

Все товары, которые вы хотите размещать на маркетплейсе, необходимо сопоставить с карточками на нем. Каждому вашему товару должен соответствовать товар на маркетплейсе со своим идентификатором (SKU на Яндексе).

Для сопоставления используется пункт Загрузка товаров и привязка к карточкам

Рис 7. Форма сопоставления данных товаров базы 1С с карточками в торговой площадке

Отмечу, что загрузить товары на Маркете и установить привязку к карточка возможно если личный кабинет прошел модерацию. В противном случае, при обращение к каталогу на Маркете сервер возвращает ответ с кодом состояния: 403 FORBIDDEN Ошибка: Access denied (Доступ запрещен)

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

7. Управление ценами товаров

На маркетплейсе Яндекс.Маркета цены устанавливают партнеры-поставщики. Если один товар поставляют несколько партнеров, на маркетплейсе сначала продается товар с более низкой ценой. Когда закончится товар по низкой цене, на сервисе начнет продаваться товар по более высокой цене.

С помощью пункта Назначение цен вы можете устанавливать и отправлять цены на маркетплейс ( см рис) 

Рис 8. Форма назначения цен

Цены можно отправлять автоматически или вручную. Автоматический режим позволяет оперативно реагировать на изменения цены на маркетплейсе при помощи стратегий продаж и отправлять обновленные цены товаров. Подробнее показано следующем видео.

9.Работа с заказами

Раздел относится только к партнерам, подключенным к маркетплейсу Яндекс.Маркета по модели FBS. Как начать обрабатывать заказы можно подробнее посмотреть здесь

Раздел содержит 2 пункта : Настройка заказов и Обработка заказов

9.1 Настройка работы с заказами

В  форме настройки нужно установить опцию Работа с заказами и заполнить все поля (См. рис)

Рис 9. Форма настройки работы с заказами

Выберите способ авторизации, который вы указывали в личном кабинете для партнеров маркетплейса на странице Настройки → Настройки API.

Включите опцию Использовать лог запросов, если хотите, чтобы модуль фиксировал запросы от сервера маркетплейса.

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

9.2. Обработка заказов в модели FBS

Вам начнут поступать заказы с маркетплейса в «1C:Предприятие», если:

  1. ваш магазин подключен к маркетплейсу ( Параграф 1)
  2. вы подготовили сервис 1C и веб‑сервер ( Параграф 2),
  3. Вы настроили модуль для работы с заказами ( Параграф 9.1);
  4. вы сопоставили ваши товары с карточками ( Параграф 6)
  5. вы отправили цены ( Параграф 7)

Форма обработки заказов – это рабочее место (См рис 10).

Рис 10. Форма обработки заказов

Подробнее об этом рабочем месте можно посмотреть здесь

Версия 1.7.45.9

Обновленная подсистема версии расширения 1.7.45.9 появилась после выхода версии шаблона интеграции 1.7.42 на Яндексе. Последние модули шаблона Яндекса можно скачать бесплатно здесь . Этот шаблон плохо работает – имеет много ошибок в программном коде и многие запросы по прежнему не оптимизированы . Причина ошибок в программном коде возможно связана с тем, что они не тестируют работу модуля в расширении, а тестируют его, интегрированный в основной конфигурации.

В новой версии 1.7.45.9 добавлены 2 новые подсистемы ( разделы) :

  1. Работа с заказами в модели DBS ( продажи с доставкой магазина) – В  модели DBS  клиент размещает товары на  Маркете, принимает заказы , обрабатываете и доставляете их.  Деньги за предоплаченные заказы клиент получает на следующий день после их передачи в доставку. Чтобы начать размещение, достаточно зарегистрировать магазин, загрузить файл со списком товаров и настроить обработку заказов. Порядок взаимодействия через API при обработке заказов подробнее написано здесь
  2. Управление поставками для модели «Витрина + фулфилмент»

Рис 11 Интерфейс версии модуля 1.7.42.8

Для приобретения моего доработанного расширения обращайтеcь ко мне на почту master1c8x@mail.ru

Полный список дополнительных отчетов, обработок и расширений можно посмотреть здесь

  1. Error description
  2. Short error description in the response
  3. Example of an error message

If an error occurs, the request processing stops, and the server returns an HTTP response code that identifies the error. In addition to the code, the response contains a short error description.

The error message is returned in the format specified in the request URL after the method name or in the Accept HTTP header.

The error description is passed in the error parameter. This parameter contains the error code (the code parameter) and a short error description (the message parameter).

Code

Name

Explanation

200

OK

The request is successfully completed.

206

Partial Content

The request is partially completed.

400

Bad Request

The request is invalid.

401

Unauthorized

The request doesn’t include authorization data.

403

Forbidden

Incorrect authorization data is specified in the request, or access to the requested resource is denied.

404

Not Found

The requested resource isn’t found.

405

Method Not Allowed

The requested method isn’t supported for the specified resource.

415

Unsupported Media Type

The requested content type isn’t supported by the method.

420

Enhance Your Calm

The resource access restriction is exceeded.

500

Internal Server Error

Internal server error. Try calling the method after a while. If the error persists, contact the Yandex.Market support service.

503

Service Unavailable

The server is temporarily unavailable due to high load. Try calling the method after a while.

  • For the 400 Bad Request error:

    Description

    Explanation

    Possible solution

    Collection of field must not be empty

    The parameter must not be empty.

    Specify at least one element for the parameter.

    Invalid status: 'status'

    Invalid status is specified.

    Check if the sent status is correct for order filtering by status.

    JSON: {message}

    The JSON data format contains an error.

    Check if the data passed in the request body has the correct JSON format.

    Missing field

    The required parameter isn’t specified.

    Specify a value for the required parameter.

    The request is too big

    The HTTP request size limit is exceeded.

    Cut the request size by reducing the amount of the sent data.

    Too long time period. Maximum is 'maxPeriod' days

    The specified date range is too large. Maximum range — maxPeriod.

    Reduce the date range to filter orders by date.

    Unexpected character 'character': expected a valid value 'values'

    Invalid character.

    Check the request body encoding. The required encoding is UTF-8.

    Unexpected end of content

    The request body ends unexpectedly.

    Check if the data passed in the request body has the correct format.

    Value / length of field (value) must be between min and max [exclusively]

    The parameter value (length) must be between the min and max values and not equal to them.

    Check if the parameter value is correct.

    Value / length of field (value) must be greater / less than [or equal to] limit

    The parameter value (length) must be equal to or greater than (less than) the specified limit value.

    Check if the parameter value is correct.

    Value of field has too high scale: 'price'

    The accuracy of the parameter is set too high.

    Set the parameter values with less precision.

    Value of field must match the pattern: 'regExp'

    The parameter value must match the regular expression.

    Check if the parameter value is correct.

    XML: {message}

    The XML data format contains an error.

    Check if the data passed in the request body has the correct XML format.

    Other short descriptions that can be found in messages about this error are provided in the descriptions of the corresponding resources.

  • For the 401 Unauthorized error:

    Description

    Explanation

    Possible solution

    Unsupported authorization type specified in Authorization header

    Authorization type passed in the Authorization HTTP header isn’t supported.

    Check if the authorization data is correct.

    Authorization header has invalid syntax

    The Authorization HTTP header format is incorrect.

    Check if the authorization data is correct.

    OAuth credentials are not specified

    The request doesn’t include authorization data.

    Check that the authorization data is correct.

    OAuth token is not specified

    The request doesn’t include the authorization token (the oauth_token parameter).

    Check if the authorization data is correct.

    OAuth client id is not specified

    The request doesn’t include the application ID (the oauth_client_id parameter).

    Check if the authorization data is correct.

  • For the 403 Forbidden error:

    Description

    Explanation

    Possible solution

    Access denied

    Access to the specified resource is prohibited.

    Check if the resource is specified correctly, and if the authorized user login has access to it.

    Access to API denied for the client / campaign

    The client or store isn’t allowed to access the Yandex.Market Partner API.

    Agency clients should contact their agency about getting access to the Yandex.Market Partner API.

    Client id is invalid

    The specified application ID (the oauth_client_id parameter) is invalid.

    Check if the authorization data is correct. If they are correct, get a new app ID, repeat the request with the new authorization data.

    Scope is invalid

    The specified authorization token (the oauth_token parameter) doesn’t have the necessary set of rights.

    Get a new authorization token, mention the right to use the Yandex.Market Partner API when you receive it, and repeat the request with the new authorization data.

    Token is invalid

    The specified authorization token (parameter oauth_token) is invalid.

    Check if the authorization data is correct. If they are correct, get a new authorization token, repeat the request with the new authorization data.

    User account is disabled

    The user account for which the specified authorization token was issued is blocked.

    Contact the Yandex.Market support service.

  • For the 404 Not Found error:

    Description

    Explanation

    Possible solution

    Feed not found: 'feedId'

    The price list specified in the request isn’t found.

    Check if the sent price list ID is correct.

    Login not found: 'login'

    The username specified in the request isn’t found.

    Check if the sent username is correct.

    Model not found: 'modelId'

    The model specified in the request isn’t found.

    Check if the model ID you are passing is correct.

  • For the 405 Method Not Allowed error:

    Description

    Explanation

    Possible solution

    Request method 'method' not supported

    The requested HTTP method isn’t supported.

    Check the methods supported by the resource. You can find the list of methods in the Requests reference section.

  • For the 415 Unsupported Media Type error:

    Description

    Explanation

    Possible solution

    Content type 'content-type' not supported

    The requested content type isn’t supported.

    Pass one of the supported content types.

    Missing Content-Type

    The content type isn’t specified.

    Pass the content type.

    Unknown content-type: 'content-type'

    The requested content type is unknown.

    Pass one of the supported content types.

  • For the 420 Enhance Your Calm error:

    Description

    Explanation

    Possible solution

    Hit rate limit of 'N' parallel requests

    Exceeded the global limit on the number of simultaneous requests to the Yandex.Market Partner API.

    Reduce the number of concurrent requests to the partner API within a single store or partner to N requests.

    Hit rate limit of 'N' requests per 'period' for resource 'R'

    The resource restriction for the N number of requests to the R resource over the period for the same store or partner is exceeded.

    The time until which the limit applies is specified in the X-RateLimit-Resource-Until header. You can use of the resource after the specified time.

  • For the 503 Service Unavailable error:

    Description

    Explanation

    Possible solution

    Service temporarily unavailable. Please, try again later

    The server is temporarily unavailable due to high load.

    Try repeating the request after a while.

Request example:

GET /v2/campaigns.xml HTTP/1.1
Host: api.partner.market.yandex.ru
Accept: */*
Authorization: OAuth oauth_token=,oauth_client_id=b12320932d4e401ab6e1ba43d553d433

Response example:

<response>
  <errors>
    <error code="UNAUTHORIZED" message="OAuth token is not specified"/>
  </errors>
  <error code="401">
    <message>OAuth token is not specified</message>
  </error>
</response>

Request example:

GET /v2/campaigns.json HTTP/1.1
Host: api.partner.market.yandex.ru
Accept: */*
Authorization: OAuth oauth_token=,oauth_client_id=b12320932d4e401ab6e1ba43d553d433

Response example:

{
  "errors":
  [
    {
      "code": "UNAUTHORIZED",
      "message": "OAuth token is not specified"
    }
  ],
  "error":
  {
    "code": 401,
    "message": "OAuth token is not specified"
  }
}

  1. Error description
  2. Short error description in the response
  3. Example of an error message

If an error occurs, the request processing stops, and the server returns an HTTP response code that identifies the error. In addition to the code, the response contains a short error description.

The error message is returned in the format specified in the request URL after the method name or in the Accept HTTP header.

The error description is passed in the error parameter. This parameter contains the error code (the code parameter) and a short error description (the message parameter).

Code

Name

Explanation

200

OK

The request is successfully completed.

206

Partial Content

The request is partially completed.

400

Bad Request

The request is invalid.

401

Unauthorized

The request doesn’t include authorization data.

403

Forbidden

Incorrect authorization data is specified in the request, or access to the requested resource is denied.

404

Not Found

The requested resource isn’t found.

405

Method Not Allowed

The requested method isn’t supported for the specified resource.

415

Unsupported Media Type

The requested content type isn’t supported by the method.

420

Enhance Your Calm

The resource access restriction is exceeded.

500

Internal Server Error

Internal server error. Try calling the method after a while. If the error persists, contact the Yandex.Market support service.

503

Service Unavailable

The server is temporarily unavailable due to high load. Try calling the method after a while.

  • For the 400 Bad Request error:

    Description

    Explanation

    Possible solution

    Collection of field must not be empty

    The parameter must not be empty.

    Specify at least one element for the parameter.

    Invalid status: 'status'

    Invalid status is specified.

    Check if the sent status is correct for order filtering by status.

    JSON: {message}

    The JSON data format contains an error.

    Check if the data passed in the request body has the correct JSON format.

    Missing field

    The required parameter isn’t specified.

    Specify a value for the required parameter.

    The request is too big

    The HTTP request size limit is exceeded.

    Cut the request size by reducing the amount of the sent data.

    Too long time period. Maximum is 'maxPeriod' days

    The specified date range is too large. Maximum range — maxPeriod.

    Reduce the date range to filter orders by date.

    Unexpected character 'character': expected a valid value 'values'

    Invalid character.

    Check the request body encoding. The required encoding is UTF-8.

    Unexpected end of content

    The request body ends unexpectedly.

    Check if the data passed in the request body has the correct format.

    Value / length of field (value) must be between min and max [exclusively]

    The parameter value (length) must be between the min and max values and not equal to them.

    Check if the parameter value is correct.

    Value / length of field (value) must be greater / less than [or equal to] limit

    The parameter value (length) must be equal to or greater than (less than) the specified limit value.

    Check if the parameter value is correct.

    Value of field has too high scale: 'price'

    The accuracy of the parameter is set too high.

    Set the parameter values with less precision.

    Value of field must match the pattern: 'regExp'

    The parameter value must match the regular expression.

    Check if the parameter value is correct.

    XML: {message}

    The XML data format contains an error.

    Check if the data passed in the request body has the correct XML format.

    Other short descriptions that can be found in messages about this error are provided in the descriptions of the corresponding resources.

  • For the 401 Unauthorized error:

    Description

    Explanation

    Possible solution

    Unsupported authorization type specified in Authorization header

    Authorization type passed in the Authorization HTTP header isn’t supported.

    Check if the authorization data is correct.

    Authorization header has invalid syntax

    The Authorization HTTP header format is incorrect.

    Check if the authorization data is correct.

    OAuth credentials are not specified

    The request doesn’t include authorization data.

    Check that the authorization data is correct.

    OAuth token is not specified

    The request doesn’t include the authorization token (the oauth_token parameter).

    Check if the authorization data is correct.

    OAuth client id is not specified

    The request doesn’t include the application ID (the oauth_client_id parameter).

    Check if the authorization data is correct.

  • For the 403 Forbidden error:

    Description

    Explanation

    Possible solution

    Access denied

    Access to the specified resource is prohibited.

    Check if the resource is specified correctly, and if the authorized user login has access to it.

    Access to API denied for the client / campaign

    The client or store isn’t allowed to access the Yandex.Market Partner API.

    Agency clients should contact their agency about getting access to the Yandex.Market Partner API.

    Client id is invalid

    The specified application ID (the oauth_client_id parameter) is invalid.

    Check if the authorization data is correct. If they are correct, get a new app ID, repeat the request with the new authorization data.

    Scope is invalid

    The specified authorization token (the oauth_token parameter) doesn’t have the necessary set of rights.

    Get a new authorization token, mention the right to use the Yandex.Market Partner API when you receive it, and repeat the request with the new authorization data.

    Token is invalid

    The specified authorization token (parameter oauth_token) is invalid.

    Check if the authorization data is correct. If they are correct, get a new authorization token, repeat the request with the new authorization data.

    User account is disabled

    The user account for which the specified authorization token was issued is blocked.

    Contact the Yandex.Market support service.

  • For the 404 Not Found error:

    Description

    Explanation

    Possible solution

    Feed not found: 'feedId'

    The price list specified in the request isn’t found.

    Check if the sent price list ID is correct.

    Login not found: 'login'

    The username specified in the request isn’t found.

    Check if the sent username is correct.

    Model not found: 'modelId'

    The model specified in the request isn’t found.

    Check if the model ID you are passing is correct.

  • For the 405 Method Not Allowed error:

    Description

    Explanation

    Possible solution

    Request method 'method' not supported

    The requested HTTP method isn’t supported.

    Check the methods supported by the resource. You can find the list of methods in the Requests reference section.

  • For the 415 Unsupported Media Type error:

    Description

    Explanation

    Possible solution

    Content type 'content-type' not supported

    The requested content type isn’t supported.

    Pass one of the supported content types.

    Missing Content-Type

    The content type isn’t specified.

    Pass the content type.

    Unknown content-type: 'content-type'

    The requested content type is unknown.

    Pass one of the supported content types.

  • For the 420 Enhance Your Calm error:

    Description

    Explanation

    Possible solution

    Hit rate limit of 'N' parallel requests

    Exceeded the global limit on the number of simultaneous requests to the Yandex.Market Partner API.

    Reduce the number of concurrent requests to the partner API within a single store or partner to N requests.

    Hit rate limit of 'N' requests per 'period' for resource 'R'

    The resource restriction for the N number of requests to the R resource over the period for the same store or partner is exceeded.

    The time until which the limit applies is specified in the X-RateLimit-Resource-Until header. You can use of the resource after the specified time.

  • For the 503 Service Unavailable error:

    Description

    Explanation

    Possible solution

    Service temporarily unavailable. Please, try again later

    The server is temporarily unavailable due to high load.

    Try repeating the request after a while.

Request example:

GET /v2/campaigns.xml HTTP/1.1
Host: api.partner.market.yandex.ru
Accept: */*
Authorization: OAuth oauth_token=,oauth_client_id=b12320932d4e401ab6e1ba43d553d433

Response example:

<response>
  <errors>
    <error code="UNAUTHORIZED" message="OAuth token is not specified"/>
  </errors>
  <error code="401">
    <message>OAuth token is not specified</message>
  </error>
</response>

Request example:

GET /v2/campaigns.json HTTP/1.1
Host: api.partner.market.yandex.ru
Accept: */*
Authorization: OAuth oauth_token=,oauth_client_id=b12320932d4e401ab6e1ba43d553d433

Response example:

{
  "errors":
  [
    {
      "code": "UNAUTHORIZED",
      "message": "OAuth token is not specified"
    }
  ],
  "error":
  {
    "code": 401,
    "message": "OAuth token is not specified"
  }
}

В этой статье мы расскажем о причинах, с которыми может быть связано возникновение ошибки 403. В качестве примера мы покажем вам, как исправить подобную ошибку на WordPress-сайте. Тем не менее, на других CMS или статических сайтах действия, которые необходимо предпринять, будут почти аналогичными:

Причины возникновения ошибки 403 могут отличаться в зависимости от различных обстоятельств. Иногда эта ошибка может быть результатом изменений или обновлений, которые ваш хостинг произвел в своей системе.

Рассмотрим эту тему подробнее. Затем мы перечислим различные причины возникновения этой ошибки и пути решения.

Что понадобится

  • Доступ к панели управления хостингом.
  • Что такое ошибка доступа 403?
  • Почему возникает ошибка доступа 403
  • Что  делать если возникла ошибка доступа 403
    • Шаг 1 — Проверка файла .htaccess
    • Откройте «Диспетчер файлов» в панели управления хостингом
    • Шаг 2 — Работа с правами доступа
    • Шаг 3 — Отключение плагинов WordPress
  • Заключение

Что такое ошибка доступа 403?

Прежде чем мы продолжим и попытаемся исправить код ошибки 403, давайте сначала поймем, что это на самом деле такое. Ошибка доступа 403 — это код состояния HTTP.

Вот примеры сообщений об ошибке, с которыми можно столкнуться:

Forbidden: You don't have permission to access [directory] on this server
	HTTP Error 403 – Forbidden
	403 forbidden request forbidden by administrative rules
	403 Forbidden
	Access Denied You don't have permission to access

Давайте выясним, что вызывает эти ошибки.

Получение сообщения об ошибке 403 в процессе разработки может оказаться тревожным сигналом. Причина может заключаться в том, что вы пытаетесь получить доступ к тому, к чему у вас нет прав. Ошибка доступа 403 — это способ, с помощью которого сайт заявляет, что у вас недостаточно прав.

Эта ошибка обусловлена следующим:

  • Неверные права доступа к файлам или папкам;
  • Неправильные настройки в файле .htaccess.

Кратко рассмотрим, как можно это исправить.

Теперь, когда мы знаем факторы, провоцирующие возникновение ошибки, пришло время рассмотреть то, как от нее избавиться.

Действия, перечисленные ниже, будут касаться исправления ошибки 403 на WordPress-сайте. Но их также можно использовать и на других платформах. Рассмотрим весь процесс обнаружения ошибки 403 доступ запрещен, и ее исправления по этапам.

Возможно, вы не знакомы с файлом .htaccess. Это потому, что файл часто остается скрытым в директории проекта. Но если вы используете Hostinger File Manager, вы видите .htaccess по умолчанию:

Шаг 1 - Проверка файла .htaccess

Если вы используете CPanel, можно найти этот файл, используя «Диспетчер файлов». Давайте рассмотрим, как это делается:

В папке public_html найдите файл .htaccess. Если вы не видите его в этой папке, можно нажать на кнопку «Настройки» и включить параметр «Показать скрытые файлы»:

Откройте «Диспетчер файлов» в панели управления хостингом

.htaccess — это файл конфигурации сервера, который предназначен для изменения настроек веб-сервера Apache.

Файл .htaccess присутствует на всех WordPress-сайтах. В тех редких случаях, когда сайт не его или он был удален непреднамеренно, нужно создать этот файл вручную.

После того как вы нашли файл .htaccess, чтобы исправить ошибку 403 forbidden, нужно:

  • Скачать файл .htaccess на компьютер, чтобы создать резервную копию;
  • После этого удалить файл.

Откройте «Диспетчер файлов» в панели управления хостингом - 2

  • Теперь попробуйте получить доступ к сайту;
  • Если он работает нормально, это просто указывает на то, что файл .htaccess был поврежден;
  • Чтобы создать новый файл .htaccess, войдите в панель управления WordPress и выберите пункт Настройки> Постоянные ссылки;
  • Без внесения изменений нажмите на кнопку «Сохранить», расположенную в нижней части страницы.

  • Таким образом, для сайта будет создан новый файл .htaccess.

Если это не решит проблему, перейдите к следующему шагу.

Еще одна причина по которой возникает ошибка http 403 — это неверные права доступа к файлам или папкам. При создании файлов для них по умолчанию задаются определенные права доступа. Они указывают, как и кто может осуществлять их считывание, запись и выполнение. Но иногда нужно изменить права доступа по умолчанию.

Это можно сделать с помощью FTP-клиента или диспетчера файлов. FTP-клиент FileZilla предоставляет больше возможностей для изменения прав доступа к файлам и папкам. Поэтому мы рекомендуем использовать его, чтобы выполнить следующие действия:

  • Зайдите на свой сайт через FTP;
  • Перейдите в корневой каталог;
  • Выберите основную папку, содержащую все файлы вашего сайта (обычно это public_html), кликните по ней правой кнопкой мыши и выберите пункт «Права доступа к файлам»:

Шаг 2 - Работа с правами доступа

  • Установите флажок «Применить только к папкам», укажите права 755 в поле числового значения и нажмите кнопку «OK»;

Шаг 2 - Работа с правами доступа - 2

  • После того, как FileZilla изменит права доступа к папкам, повторите шаг 3, но на этот раз выберите параметр «Применить только для файлов» и введите 644:

  • После этого попробуйте зайти на сайт и проверьте, не решена ли проблема.

Если ничего не изменилось, пришло время перейти к следующему шагу.

Высока вероятность того, что ошибка 403 была вызвана несовместимостью или некорректной работой плагина. На этом этапе мы отключим плагины, чтобы выяснить, не с ними ли связана ошибка 403. Лучше, конечно, отключить все плагины одновременно, а не каждый по отдельности. Так вы сможете обнаружить проблему и решить ее.

Вот, что нужно сделать:

  • Перейдите на хостинг через FTP и найдите папку public_html (или папку, содержащую установочные файлы WordPress);
  • Перейдите в папку wp-content;
  • Перейдите в папку Plugins и переименуйте ее, например в «disabled-plugins«, чтобы ее было легче найти.

Шаг 3 - Отключение плагинов WordPress

После отключения плагинов попробуйте снова зайти на сайт. Проблема исправлена? Если да, то причиной ошибки является некорректно работающий плагин. Попробуйте отключить плагины один за другим. Так вы сможете его обнаружить.

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

Следуя приведенным выше рекомендациям, можно избавиться от ошибки 403 forbidden.

From Wikipedia, the free encyclopedia

HTTP 403 is an HTTP status code meaning access to the requested resource is forbidden. The server understood the request, but will not fulfill it.

Specifications[edit]

HTTP 403 provides a distinct error case from HTTP 401; while HTTP 401 is returned when the client has not authenticated, and implies that a successful response may be returned following valid authentication, HTTP 403 is returned when the client is not permitted access to the resource despite providing authentication such as insufficient permissions of the authenticated account.[a]

Error 403: «The server understood the request, but is refusing to authorize it.» (RFC 7231)[1]

Error 401: «The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.47) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials, then the 401 response indicates that authorization has been refused for those credentials.» (RFC 2616)[2]

The Apache web server returns 403 Forbidden in response to requests for URL[3] paths that corresponded to file system directories when directory listings have been disabled in the server and there is no Directory Index directive to specify an existing file to be returned to the browser. Some administrators configure the Mod proxy extension to Apache to block such requests and this will also return 403 Forbidden. Microsoft IIS responds in the same way when directory list
ings are denied in that server. In WebDAV, the 403 Forbidden response will be returned by the server if the client issued a PROPFIND request but did not also issue the required Depth header or issued a Depth header of infinity.[3]

Substatus error codes for IIS[edit]

The following nonstandard codes are returned by Microsoft’s Internet Information Services, and are not officially recognized by IANA.

  • 403.1 – Execute access forbidden
  • 403.2 – Read access forbidden
  • 403.3 – Write access forbidden
  • 403.4 – SSL required
  • 403.5 – SSL 128 required
  • 403.6 – IP address rejected
  • 403.7 – Client certificate required
  • 403.8 – Site access denied
  • 403.9 – Too many users
  • 403.10 – Invalid configuration
  • 403.11 – Password change
  • 403.12 – Mapper denied access
  • 403.13 – Client certificate revoked
  • 403.14 – Directory listing denied
  • 403.15 – Client Access Licenses exceeded
  • 403.16 – Client certificate is untrusted or invalid
  • 403.17 – Client certificate has expired or is not yet valid
  • 403.18 – Cannot execute request from that application pool
  • 403.19 – Cannot execute CGIs for the client in this application pool
  • 403.20 – Passport logon failed
  • 403.21 – Source access denied
  • 403.22 – Infinite depth is denied
  • 403.502 – Too many requests from the same client IP; Dynamic IP Restriction limit reached
  • 403.503 – Rejected due to IP address restriction

See also[edit]

  • List of HTTP status codes
  • URL redirection

Notes[edit]

  1. ^ See #403 substatus error codes for IIS for possible reasons of why a webserver may refuse to fulfill a request.

References[edit]

  1. ^
    Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. IETF. sec. 6.5.3. doi:10.17487/RFC7231. RFC 7231.
  2. ^ Nielsen, Henrik; Mogul, Jeffrey; Masinter, Larry M.; Fielding, Roy T.; Gettys, Jim; Leach, Paul J.; Berners-Lee, Tim (June 1999). «RFC 2616 — Hypertext Transfer Protocol — HTTP/1.1». Tools.ietf.org. doi:10.17487/RFC2616. Retrieved 2018-04-09.
  3. ^ a b «HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)». IETF. June 2007. Archived from the original on March 3, 2016. Retrieved January 12, 2016.

External links[edit]

  • Apache Module mod_proxy – Forward
  • Working with SELinux Contexts Labeling files
  • Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

В статье мы расскажем, что такое ошибка 403 (403 forbidden) и как ее исправить.

  • Ошибка 403: что она значит
  • Хостинг заблокирован
  • Некорректное название главной страницы
  • Файлы загружены вне корневой директории
  • Некорректные настройки в файле .htaccess
  • Некорректная работа плагинов
  • Как устранить ошибку 403 forbidden, если описанные способы не помогли
  • Что делать, если ошибка 403 forbidden запрещает доступ к стороннему ресурсу

Ошибка 403: что она значит

Ошибки вида 4хх относятся к категории ошибок клиента (браузера) — когда сервер отправил ответ на запрос, но браузер не может его обработать.

Код 403 (forbidden) значит, что доступ к этому ресурсу запрещен. Текст ошибки может отличаться, например:

  • error 403,
  • 403 запрещено,
  • HTTP 403,
  • Forbidden 403,
  • Access denied (перевод на русский: доступ запрещен),
  • Error: access denied и др.

Ниже мы опишем наиболее распространенные причины возникновения этой ошибки.

Хостинг заблокирован

Хостинг может быть заблокирован по следующим причинам:

  • Нехватка средств на балансе услуги. Пополните баланс хостинга, чтобы сайт продолжал работать.
  • Нарушение правил договора. В этом случае перед блокировкой отправляется уведомление на контактный email услуги: если вы получили это письмо, необходимо устранить нарушение в течение 24 часов.

Некорректное название главной страницы

Главная страница (или индексный файл) — это страница, которая открывается первой при переходе по домену. По умолчанию индексный файл в панели управления SpaceWeb называется index.html или index.php. Ошибка 403 (forbidden) означает, что файл отсутствует или его название отличается.

Чтобы исправить название файла:

  1. Перейдите в панель управления.
  2. Разверните блок Хостинг и выберите Сайты:

  1. Затем справа от имени пользователя кликните Открыть папку:

  1. Перейдите в корневую директорию сайта. Нажмите на иконку индексного файла и выберите Переименовать:

  1. Укажите название файла.

Если файл стартовой страницы отсутствует, выполните шаги 1, 2 и 3. Затем перейдите в корневую папку сайта и кликните Загрузить файлы:

Файлы загружены вне корневой директории

Ошибка 403 на сайте может возникать, если файлы не загружены в корневую директорию: например, файлы находятся в подпапке или выше на один уровень.
Чтобы это проверить:

  1. Перейдите в панель управления.
  2. Разверните блок Хостинг и выберите Сайты:

  1. Затем справа от имени пользователя кликните Открыть папку:

  1. Перейдите в корневую директорию сайта и проверьте наличие файлов:

Некорректные настройки в файле .htaccess

Иногда причина ошибки с кодом 403 — некорректные правила в файле .htaccess. Чтобы убедиться в том, что проблема в директивах .htaccess, измените название файла. После этого проверьте, осталась ли ошибка на сайте.

Для решения проблемы обратитесь к разработчику сайта. Зачастую она связана с правилами «RewriteRule» или путаницей с действиями «deny» и «allow».

 
Некорректная работа плагинов

Эта проблема может возникнуть, если ваш сайт создан на CMS WordPress. Чтобы исправить ошибку 403, необходимо перейти в админку сайта и обновить все плагины.
Если разработчики перестали поддерживать один из них, рекомендуем установить актуальный плагин с аналогичным функционалом.

Если вышеперечисленные способы не помогли и сайт по-прежнему недоступен — обратитесь в службу поддержки. Наши технические специалисты готовы помочь в любое время.

Что делать, если ошибка 403 forbidden запрещает доступ к стороннему ресурсу

Как исправить ошибку 403 (доступ запрещен), если вы перешли на сторонний ресурс:
Проверьте корректность URL. Иногда ошибка может возникнуть, когда вы обращаетесь к подразделу: например, при вводе в адресной строке test.ru/contacts возникает ошибка. Но если указать test.ru/contacts/ (со знаком / в конце), страница открывается корректно.

  • Проверьте, не закрыт ли доступ намеренно. Например, руководство предприятия может закрыть доступ с рабочих компьютеров ко всем ресурсам, кроме корпоративных.
  • Обновите страницу или зайдите позже. Высока вероятность, что владелец сайта знает о проблеме и занимается ее решением.
  • Возможно, сайт закрыт в определенном регионе. При подключении к интернету вашему устройству присваивается IP-адрес. IP содержит информацию о регионе, и на ее основе администратор может ограничить доступ к определенной странице или сайту целиком. Для решения проблемы можно использовать VPN или прокси-сервер.
  • Очистите кеш и cookies браузера. Это может быть полезно, если ранее не было проблем с доступом к сайтам.
  • Обратитесь к интернет-провайдеру. Если перечисленные способы не помогли исправить ошибку, обратитесь в поддержку поставщика интернет-услуг: возможно, провайдер попал в черный список — из-за этого могут быть проблемы с доступом к сайтам.
     

Ошибка 403 (error 403 Forbidden) — это ответ сервера, который отправляется, когда доступ к странице запрещен или ограничен по ряду причин. 

Текстовое описание ошибки может варьироваться. Вот некоторые вариации:

  • 403 Forbidden.
  • Access denied.
  • «В доступе отказано».
  • Forbidden.
  • You don’t have permission to access.
  • Запрещено 403. 

Перепутать ошибку с другими сложно, так как на странице обязательно будет указан код ошибки 403.

Так выглядит ошибка 403 на разных сайтах. Примеры ошибки 403
Так выглядит ошибка 403 на разных сайтах. Примеры ошибки 403

Так выглядит ошибка 403 на разных сайтах. Примеры ошибки 403

Так выглядит ошибка 403 на разных сайтах. Примеры ошибки 403

Как исправить ошибку 403

Почему возникает ошибка? Самый частый вариант — у пользователя недостаточно прав для просмотра страницы или контента на ней. Запрет с кодом 403 может установить администратор сети, администратор сервера, провайдер или разработчик.

Чаще всего причины появления ошибки связаны с проблемами на стороне сайта. Ниже отметим самые распространенные причины ошибки и расскажем, как исправить ситуацию.

Не успел обновиться кэш DNS серверов

Эта проблема часто возникает при переносе домена между разными регистраторами, а также при попытках перенести домен на разные аккаунты у одного регистратора. 

Решение: подождать. Обновление DNS записей, как правило, может занимать от 4 до 24 часов.

Ошибку вызывает плагин

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

Решение: найти проблемное расширение и отключить его.

Доступ к сайтам ограничен для пользователей из определенного местоположения

Одна из самых актуальных причин ошибки 403 в последние месяцы у россиян. Дело в том, что многие английские, украинские и европейские сайты начали блокировать доступ по географическому признаку. В итоге при попытке открыть любую страницу такого сайта вы увидите ошибку.

Решение: воспользоваться VPN-сервисом. 

Некорректный файл индекса сайта

Одна из самых частых причин ошибки на всех страницах сайта. Суть в том, что индексный файл располагается в некорректной директории, вовсе отсутствует или имеет неправильный формат. 

Индексный файл — это index.html, который используется, чтобы указать главную страницу сайта. Этот файл всегда должен находиться в корневой папке сайта.

Решение: проверить индексный файл своего сайта. Для этого откройте файловый менеджер используемого хостинга и найдите файл со словом index. 

Индексный файл сайта, найденный при помощи файлового менеджера Sprutio (хостинг Beget)

Индексный файл сайта, найденный при помощи файлового менеджера Sprutio (хостинг Beget)

Если вы пользуетесь услугами REG.RU, там также есть встроенный файловый менеджер. Чтобы получить к нему доступ, выполните следующие действия:

  1. В левом навигационном меню выберите пункт «Сайты».
  2. Выберите проблемный домен.
  3. Кликните по кнопке «Менеджер файлов» (в новой версии «Файлы сайта»).
  4. Найдите индексный файл в корневой директории сайта.

Нашли индексный файл через встроенный менеджер файлов

Нашли индексный файл через встроенный менеджер файлов

Важно: индексный файл должен обязательно располагаться в папке, которая называется public_html.

Обязательно проверьте необходимый формат индексного файла: далеко не всегда он должен иметь расширение .HTML.

В зависимости от используемой системы управления контентом и конфигурации сайта индексный формат файла может отличаться: возможные варианты расширения — HTML, PHP, HTM.

В разных панелях управления проверка индексного файла происходит по-разному. Посмотрим, как проверить индексный файл в ISPmanager — однойиз самых популярных панелей управления сегодня.

  1. В навигационном меню слева нажимаем кнопку «Сайты».
  2. Выбираем проблемный домен, нажимаем кнопку «Изменить».
  3. В самом низу находим строку «Индексная страница»:

Это и есть название индексной страницы сайта, которое мы искали

Это и есть название индексной страницы сайта, которое мы искали

Приостановлено обслуживание сайта на конкретном хостинге

Если вебмастер вовремя не оплатил услуги хостинга, возможно появление ошибки 403 при открытии любых страниц сайта. Сайт так и останется недоступным, пока не будет погашен долг в соответствии с договором обслуживания.

Решение: оплатить услуги хостинга.

Некорректное месторасположение файлов сайта

Частая проблема, возникающая при ручном переносе файлов сайта. Здесь правило простое: файлы сайта располагаются в корневой директории.

Решение: убедиться, что папка с файлами сайта находится в правильной папке. Корневая папка сайта по управлением WordPress на хостинге Beget может выглядеть так:

В зависимости от хостинга корневая папка может называться site, public_html, html, www, html

В зависимости от хостинга корневая папка может называться site, public_html, html, www, html

Указаны некорректные права на файл или папку 

Существует три вида прав доступа к файлам: чтение, редактирование, выполнение. В свою очередь, всех пользователей также можно разделить на три категории: администраторы, модераторы и обычные пользователи. 

Для задания самих прав используются трехзначные коды:

  • Для папок — код 755 или код 750;
  • Для файлов — код 644 или код 640.

Вы можете установить любой из этих вариантов.

У разных CMS могут быть свои коды для указания прав папок и файлов. Например, в WordPress на системный файл wp-config.php должны быть настроены права с кодом 440 (или с кодом 400).

Решение: проанализировать права всех папок и изменить их при необходимости. Проверьте, какие файлы и папки загружаются при открытии страницы с 403-м ответом. Чтобы уточнить этот момент, вы можете обратиться в техподдержку хостинга.  

Некорректные указания в конфигурационном файле htaccess

.htaccess — это файл конфигурации для использования на веб-серверах с программным обеспечением Apache Web Server. Когда .htaccess помещается в каталог (который, в свою очередь, загружается через веб-сервер Apache), он обнаруживается и выполняется программным обеспечением веб-сервера Apache.

Рассмотрим пример директивы, которая запрещает доступ к сайту всем пользователям, кроме одного IP-адреса:

Order Deny.Allow

Deny from all

Allow from 123.456.789.000

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

Решение: найти файл .htaccess в папке сайта и проанализировать команды, которые были прописаны недавно.

Прежде чем редактировать файл, обязательно сделайте его резервную копию. Указанное ниже решение актуально только для хостингов на базе Linux.

Файл .htaccess легко отыскать в корневой папке сайта

Файл .htaccess легко отыскать в корневой папке сайта

Особое внимание обратите на команды со словами deny, redirect, require: 

Пример команд в системном файле htaccess

Пример команд в системном файле htaccess

Удалите все соответствующие строки (со словами deny, redirect, require) и сохраните файл. Отключите кэширование данных на сайте и проверьте доступность страницы, которая отдавала 403-й код. Если все работает, значит причина была именно в .htaccess. Снова включите кэширование данных. 

Если страница все равно не открывается, измените название файла htaccess на old_htaccess. Убедитесь, что кэширование данных на сайте отключено и снова откройте проблемную страницу. Если страница по-прежнему отдает код 403, дело точно не в htaccess и проверять нужно другие причины, которые мы описали выше.

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

Иные причины 403 ошибки

  • Работодатель ограничивает доступ ко всем публичным сайтам, кроме тех, которые нужны для работы.
  • Доступ к сайту временно ограничен вебмастером по определенному признаку, например, по используемому браузеру.
  • Допущена опечатка в URL страницы (при ручном вводе).
  • Пользователь пытается открыть страницу сайта, предназначенную для служебного использования.
  • Пользователь пытается открыть страницу сайта, предназначенную для использования только зарегистрированными пользователями.
  • Пользователь был заблокирован по какому-либо параметру, например по IP-адресу (за нарушение правил пользования сайтом).
  • Доступ к сайту временно приостановлен для всех пользователей, так как проводится его техническое обслуживание.

Резюме

Используйте чек-лист, который поможет исправить ошибку 403 вебмастеру и пользователю.

Вебмастеру

  1. Убедитесь, что указан корректный адрес страницы.
  2. Проверьте директивы в системном файле htaccess.
  3. Убедитесь, что все файлы сайта находятся в корневом каталоге.
  4. Проверьте наличие всех необходимых файлов, которые загружаются при обращении к проблемной странице.
  5. Свяжитесь с хостингом и уточните, имеются ли какие-либо ограничения, наложенные на ваш сайт или домен.
  6. Убедитесь, что выставлены корректные права доступа на папки и файлы.

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

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

У пользователя возможности исправить ошибку гораздо меньше, так как причина, чаще всего, находится не на его стороне. Что вы можете сделать:

  1. Дважды проверьте URL, если указываете его вручную.
  2. Пройдите авторизацию, если такая возможность предусмотрена конфигурацией сайта.
  3. Свяжитесь с администратором сайта и сообщите об ошибке.
  4. Попробуйте открыть ссылку спустя 2-3 дня. Во многих случаях ошибка носит временный характер.  

Часто адрес страницы меняется дважды после публикации и поисковые системы просто не успевают обработать новую версию адреса. Следует подождать хотя бы один день. Страница с некорректным URL покинет индекс, исчезнет из результатов поиска, а на ее место придет страница с правильным адресом.

From Wikipedia, the free encyclopedia

HTTP 403 is an HTTP status code meaning access to the requested resource is forbidden. The server understood the request, but will not fulfill it.

Specifications[edit]

HTTP 403 provides a distinct error case from HTTP 401; while HTTP 401 is returned when the client has not authenticated, and implies that a successful response may be returned following valid authentication, HTTP 403 is returned when the client is not permitted access to the resource despite providing authentication such as insufficient permissions of the authenticated account.[a]

Error 403: «The server understood the request, but is refusing to authorize it.» (RFC 7231)[1]

Error 401: «The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.47) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials, then the 401 response indicates that authorization has been refused for those credentials.» (RFC 2616)[2]

The Apache web server returns 403 Forbidden in response to requests for URL[3] paths that corresponded to file system directories when directory listings have been disabled in the server and there is no Directory Index directive to specify an existing file to be returned to the browser. Some administrators configure the Mod proxy extension to Apache to block such requests and this will also return 403 Forbidden. Microsoft IIS responds in the same way when directory list
ings are denied in that server. In WebDAV, the 403 Forbidden response will be returned by the server if the client issued a PROPFIND request but did not also issue the required Depth header or issued a Depth header of infinity.[3]

Substatus error codes for IIS[edit]

The following nonstandard codes are returned by Microsoft’s Internet Information Services, and are not officially recognized by IANA.

  • 403.1 – Execute access forbidden
  • 403.2 – Read access forbidden
  • 403.3 – Write access forbidden
  • 403.4 – SSL required
  • 403.5 – SSL 128 required
  • 403.6 – IP address rejected
  • 403.7 – Client certificate required
  • 403.8 – Site access denied
  • 403.9 – Too many users
  • 403.10 – Invalid configuration
  • 403.11 – Password change
  • 403.12 – Mapper denied access
  • 403.13 – Client certificate revoked
  • 403.14 – Directory listing denied
  • 403.15 – Client Access Licenses exceeded
  • 403.16 – Client certificate is untrusted or invalid
  • 403.17 – Client certificate has expired or is not yet valid
  • 403.18 – Cannot execute request from that application pool
  • 403.19 – Cannot execute CGIs for the client in this application pool
  • 403.20 – Passport logon failed
  • 403.21 – Source access denied
  • 403.22 – Infinite depth is denied
  • 403.502 – Too many requests from the same client IP; Dynamic IP Restriction limit reached
  • 403.503 – Rejected due to IP address restriction

See also[edit]

  • List of HTTP status codes
  • URL redirection

Notes[edit]

  1. ^ See #403 substatus error codes for IIS for possible reasons of why a webserver may refuse to fulfill a request.

References[edit]

  1. ^
    Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. IETF. sec. 6.5.3. doi:10.17487/RFC7231. RFC 7231.
  2. ^ Nielsen, Henrik; Mogul, Jeffrey; Masinter, Larry M.; Fielding, Roy T.; Gettys, Jim; Leach, Paul J.; Berners-Lee, Tim (June 1999). «RFC 2616 — Hypertext Transfer Protocol — HTTP/1.1». Tools.ietf.org. doi:10.17487/RFC2616. Retrieved 2018-04-09.
  3. ^ a b «HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)». IETF. June 2007. Archived from the original on March 3, 2016. Retrieved January 12, 2016.

External links[edit]

  • Apache Module mod_proxy – Forward
  • Working with SELinux Contexts Labeling files
  • Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

From Wikipedia, the free encyclopedia

HTTP 403 is an HTTP status code meaning access to the requested resource is forbidden. The server understood the request, but will not fulfill it.

Specifications[edit]

HTTP 403 provides a distinct error case from HTTP 401; while HTTP 401 is returned when the client has not authenticated, and implies that a successful response may be returned following valid authentication, HTTP 403 is returned when the client is not permitted access to the resource despite providing authentication such as insufficient permissions of the authenticated account.[a]

Error 403: «The server understood the request, but is refusing to authorize it.» (RFC 7231)[1]

Error 401: «The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.47) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials, then the 401 response indicates that authorization has been refused for those credentials.» (RFC 2616)[2]

The Apache web server returns 403 Forbidden in response to requests for URL[3] paths that corresponded to file system directories when directory listings have been disabled in the server and there is no Directory Index directive to specify an existing file to be returned to the browser. Some administrators configure the Mod proxy extension to Apache to block such requests and this will also return 403 Forbidden. Microsoft IIS responds in the same way when directory list
ings are denied in that server. In WebDAV, the 403 Forbidden response will be returned by the server if the client issued a PROPFIND request but did not also issue the required Depth header or issued a Depth header of infinity.[3]

Substatus error codes for IIS[edit]

The following nonstandard codes are returned by Microsoft’s Internet Information Services, and are not officially recognized by IANA.

  • 403.1 – Execute access forbidden
  • 403.2 – Read access forbidden
  • 403.3 – Write access forbidden
  • 403.4 – SSL required
  • 403.5 – SSL 128 required
  • 403.6 – IP address rejected
  • 403.7 – Client certificate required
  • 403.8 – Site access denied
  • 403.9 – Too many users
  • 403.10 – Invalid configuration
  • 403.11 – Password change
  • 403.12 – Mapper denied access
  • 403.13 – Client certificate revoked
  • 403.14 – Directory listing denied
  • 403.15 – Client Access Licenses exceeded
  • 403.16 – Client certificate is untrusted or invalid
  • 403.17 – Client certificate has expired or is not yet valid
  • 403.18 – Cannot execute request from that application pool
  • 403.19 – Cannot execute CGIs for the client in this application pool
  • 403.20 – Passport logon failed
  • 403.21 – Source access denied
  • 403.22 – Infinite depth is denied
  • 403.502 – Too many requests from the same client IP; Dynamic IP Restriction limit reached
  • 403.503 – Rejected due to IP address restriction

See also[edit]

  • List of HTTP status codes
  • URL redirection

Notes[edit]

  1. ^ See #403 substatus error codes for IIS for possible reasons of why a webserver may refuse to fulfill a request.

References[edit]

  1. ^
    Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. IETF. sec. 6.5.3. doi:10.17487/RFC7231. RFC 7231.
  2. ^ Nielsen, Henrik; Mogul, Jeffrey; Masinter, Larry M.; Fielding, Roy T.; Gettys, Jim; Leach, Paul J.; Berners-Lee, Tim (June 1999). «RFC 2616 — Hypertext Transfer Protocol — HTTP/1.1». Tools.ietf.org. doi:10.17487/RFC2616. Retrieved 2018-04-09.
  3. ^ a b «HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)». IETF. June 2007. Archived from the original on March 3, 2016. Retrieved January 12, 2016.

External links[edit]

  • Apache Module mod_proxy – Forward
  • Working with SELinux Contexts Labeling files
  • Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

«Четырёхсотые» коды состояния описывают проблемы на стороне клиента: обычно они возникают, когда браузер отправляет серверу некорректный HTTP-запрос.

Но на практике бывает по-разному. Например, ошибка 403 может появиться из-за неправильной логики на сервере. В этой статье попробуем разобрать все возможные причины.

  • Что означает ошибка 403 (Forbidden)
  • Что могло пойти не так
  • Ошибки на стороне пользователя
  • Ошибки на стороне сайта
  • Ограничения на стороне хостера или провайдера
  • Как исправить ошибку 403
  • Что делать владельцу сайта
  • Что делать пользователю

Ошибка 403 (Forbidden) — это когда сервер понял запрос, но почему-то отказывается выполнять его и отдавать браузеру HTML-код страницы.

Помимо «Forbidden», сервер может описать ошибку и другими словами: «error access denied» (доступ запрещён), «you don’t have permission to access» (нет разрешения на вход) и так далее. Сообщения разные, но смысл один.

В идеальном мире ошибка с кодом 403 должна возникать, когда доступ к странице пытается получить кто-то, у кого его нет, — например, неавторизованный пользователь.

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

Нужна регистрация. Пользователь не авторизован, а для доступа к странице это обязательно. При таком сценарии исправить ошибку просто — залогиниться на сайте.

Неправильный URL-адрес. Возможно, вы случайно постучались на какую-то секретную страничку, а это ни вам, ни серверу не нужно. Банально, но стоит перепроверить ссылку ещё разок.

Проблема в устройстве. Проверить это можно, зайдя на страницу с другого девайса. Если всё откроется, значит, дело в конкретной технике. Причины у этого могут быть разные:

  • Неправильные данные в кэше. Тогда можно почистить его или перезагрузить страницу сочетанием Ctrl + F5 (при таком принудительном обновлении кэш игнорируется).
  • Устаревшие данные в cookies. Если проблема в этом, то достаточно почистить их, и всё заработает.
  • Вы заходите на страницу со смартфона, на котором включён режим экономии трафика. Из-за него браузер может не передавать сайту какие-то нужные ему данные — это и вызывает HTTP-ошибку Forbidden. В этом случае достаточно отключить экономию трафика.

Впрочем, иногда ошибка 403 возникает правомерно. Например, если вы были заблокированы на сайте или пытаетесь получить доступ к служебной странице. В таком случае обратитесь к владельцу сайта, чтобы он снял бан или выдал нужные права.

Кадр: сериал «Парки и зоны отдыха» / NBC

«Forbidden» может возникнуть, если что-то не так с компонентами сайта. Вот несколько возможных проблем, которые может и должен решить администратор сайта.

Некорректный индексный файл. Это файл, который указывает на главную страницу домена или поддомена. Нужно, чтобы у него были правильное название и формат — а они, в свою очередь, определяются CMS, которой вы пользуетесь. Например, для сайтов на WordPress это может быть index.html, index.htm или index.php.

А ещё индексный файл должен находиться в корневой папке домена или поддомена — смотря к чему он относится.

Неправильно расположены файлы сайта. Как и index, другие файлы сайта тоже должны лежать в корневой директории. Где именно — зависит от CMS и хостинга, которые вы используете.

Неверно настроены права доступа. У каждого файла и папки есть права доступа, которые состоят из трёх цифр от 0 до 7: первая — права владельца, вторая — групповые права, третья — публичные права. Сама цифра означает, какие права предоставлены этой группе.

Если у пользователя нет прав на выполнение действия, то он получит HTTP-ошибку 403 Forbidden. Обычно на папки выставляют доступ 755, на файлы — 644.

Проблемы с плагином. Если вы устанавливали плагины для своей CMS, то вызвать код 403 может какой-то из них. Возможно, он не обновился до последней версии, повреждён или несовместим с конфигурациями сайта.

Вот как это проверить, если у вас WordPress:

  • Перейдите в раздел wp-content и найдите папку plugins.
  • Переименуйте её — это отключит работу всех плагинов.
  • Если проблема уйдёт, значит, дело было в плагинах.

Далее можно включать плагины обратно и искать конкретного виновника. Чтобы это сделать, отключайте их по очереди и обновляйте страницу — где-то по пути точно обнаружите, где с каким плагином проблема.

Некорректные указания в файле .htaccess. Если вы используете Apache Web Server, попробуйте переименовать файл .htaccess. Так же как и с плагинами, это отключит его и позволит понять, виновен ли он в ошибке.

Если дело всё-таки в .htaccess, проверьте и исправьте его директивы. Вот на какие условия стоит обратить внимание:

  • deny (запрещает доступ);
  • allow (разрешает доступ);
  • require (запрещает или разрешает доступ всем, кроме указанных пользователей);
  • redirect (перенаправляет запрос на другой URL);
  • RewriteRule (преобразует строку с помощью регулярных выражений).

Действия пользователя блокирует брандмауэр. Брандмауэры веб-приложений могут автоматически блокировать действия пользователей, которые считают вредоносными, и возвращать им Forbidden.

Чтобы проверить, в этом ли дело, отключите брандмауэр и повторите запрещённое действие. Если сработает — проблема найдена. Проверьте журнал брандмауэра: там должна быть указана конкретная причина блокировки запроса.

Узнав причину, добавьте её в исключения, и такие запросы будут выполняться корректно.

Тариф хостинга не поддерживает инструменты. Например, вы пишете на PHP 8, а тариф рассчитан только на PHP 7.4. В таком случае придётся либо перейти на другую версию инструмента, либо сменить тариф (а может, и целого хостера).

Бывает так: с логикой на сервере всё в порядке, HTTP-запрос составлен корректно, а ошибка 403 всё равно возникает. Но подождите кричать «Тысяча чертей!» — возможно, шайба на стороне посредника.

Хостер прекратил обслуживание сайта. Просрочка платежа, нарушение условий хостинга, блокировки Роскомнадзора и другие малоприятные истории. Самое время проверить почту — обычно доступ к сайту не отключают без предупреждения.

Не успел обновиться кэш DNS-серверов. Если ваш сайт переезжал на другой адрес, в кэше DNS-серверов могли остаться устаревшие данные. Остаётся только ждать. Обычно кэш обновляется в течение суток, но в редких случаях процесс может занять два-три дня.

Проблемы на стороне провайдера. Возможно, у него неправильно настроена конфигурация оборудования или он заблокировал вас намеренно. Выход один и для пользователя, и для владельца сайта — обратиться к провайдеру.

Да-а, такая маленькая ошибка, а проблем — как с запуском Falcon Heavy на Марс. Держите чек-лист, который поможет не запутаться и быстро всё пофиксить.

Выясните, на чьей стороне проблема. Во-первых, зайдите на сайт самостоятельно — лучше один раз увидеть, чем прочитать тысячу тикетов в техподдержке. Во-вторых, проверьте почту — нет ли там писем счастья от хостера или Роскомнадзора?

Проверьте настройки сайта. Пробегитесь по списку ошибок, о которых мы писали выше. Перебирайте один вариант за другим, пока не поймёте, где собака зарыта.

Если ничего не помогает — обратитесь за помощью к своему хостинг-провайдеру.

  • Перепроверьте URL страницы: правильный ли он? Вы могли кликнуть по ошибочной ссылке или сайт переехал на другой адрес, а поисковики этого ещё не поняли.
  • Проверьте, авторизованы ли вы на сайте. Залогиньтесь, если есть такая возможность.
  • Зайдите на страницу с другого устройства. Если сайт заработал — проблема в устройстве. Попробуйте перезагрузить страницу, почистить кэш и cookies браузера или отключить экономию трафика.
  • Включите или выключите VPN. Возможно, доступ к сайту блокируется по IP-адресу для пользователей из определённой страны или региона. Попробуйте использовать IP-адреса разных стран.
  • Подключитесь к другой сети. Например, если пользуетесь 4G, перейдите на Wi-Fi. Это поможет понять, есть ли проблемы на стороне поставщика интернета.

Если ничего не помогает, значит, проблема на стороне сайта. Обратитесь в техподдержку и сообщите об ошибке — возможно, о ней ещё никто не знает.

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Код состояния 500 ошибка http
  • Код события 7000 ошибка
  • Код события 4776 код ошибки 0xc0000064
  • Код события 36887 неустранимая ошибка 70

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии