Аутентификация HTTP в Механизме Приложения Сервер Dev

action атрибут требуется , но можно определить пустую ссылку URI, которая относится к текущему URI:

Редактирование хорошо, это на самом деле - зарегистрированная ошибка WebKit 528 + (см. Ошибка 19884 ), когда пустой URI используется с указанным основным URI с помощью BASE элемент. В этом случае WebKit берет основной URI вместо того, чтобы разрешить пустой URI от основного URI.

, Но это корректное поведение согласно RFC 3986 :

5.1. Установление Основного URI

, термин "родственник" подразумевает, что "основной URI" существует, против которого применяется относительная ссылка. [†¦]

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

  .----------------------------------------------------------.
  |  .----------------------------------------------------.  |
  |  |  .----------------------------------------------.  |  |
  |  |  |  .----------------------------------------.  |  |  |
  |  |  |  |  .----------------------------------.  |  |  |  |
  |  |  |  |  |              |  |  |  |  |
  |  |  |  |  `----------------------------------'  |  |  |  |
  |  |  |  | (5.1.1) Base URI embedded in content   |  |  |  |
  |  |  |  `----------------------------------------'  |  |  |
  |  |  | (5.1.2) Base URI of the encapsulating entity |  |  |
  |  |  |         (message, representation, or none)   |  |  |
  |  |  `----------------------------------------------'  |  |
  |  | (5.1.3) URI used to retrieve the entity            |  |
  |  `----------------------------------------------------'  |
  | (5.1.4) Default Base URI (application-dependent)         |
  `----------------------------------------------------------'

В этом случае BASE элемент с href атрибут основной URI, встроенный в содержание . И основной URI, встроенный в содержание , имеет более высокий приоритет, чем [1 122], URI раньше получал объект . Таким образом, поведение WebKit’s является на самом деле ожидаемым поведением согласно RFC 3986.

Но в HTML 5 это поведение пустого URI в form, ’s action (все еще проект) отличается от RFC 3986:

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

Примечание: Этот шаг преднамеренное нарушение из RFC 3986, который потребовал бы базового URL, обрабатывающего здесь. Это нарушение мотивировано требованием совместимости с содержанием прежней версии. [RFC3986]

Откровенно говоря, комментарий HTML после этого примечания в чтениях исходного кода:


, Таким образом, это - скорее ошибка, порожденная из Internet Explorer, который стал фактическим стандартом.

5
задан Denis T. 9 October 2019 в 15:35
поделиться

3 ответа

Используете ли вы Java или Python?

Если вы используете Python, вы можете использовать существующее промежуточное ПО WSGI для обработки базовой аутентификации HTTP. Вот несколько вариантов:

2
ответ дан 14 December 2019 в 04:44
поделиться

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

2
ответ дан 14 December 2019 в 04:44
поделиться

Не делайте dev_appserver общедоступным. Он не предназначен для этого и небезопасен. Назовем только одну проблему: любой посетитель может зайти на yourhost / _ah / admin / и вмешаться в ваше хранилище данных, и предложения авторизации от lost-theory не предотвратят этого.

Если вам это абсолютно необходимо, настройте Apache или другой веб-сервер в качестве обратного прокси, реализующий аутентификацию и блокирующий доступ к URL-адресам / _ah. Однако предложение Питера развернуть его в App Engine гораздо лучше.

2
ответ дан 14 December 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: