Назад | Перейти на главную страницу

Заставить HTML-форму отправить через IPv4

У меня есть веб-страница с простой формой HTML, например:

<form method="POST" action="/something">
  <input type="text" name="something">
  <input type="submit" value="Send">
</form>

Когда сервер, на котором он размещен, доступен как по IPv4, так и по IPv6, есть ли способ заставить эту HTML-форму POST выполняться через IPv4 без изменений на веб-сервере?

Если я попробую 1.2.3.4/something как действие, это не удастся, поскольку заголовок хоста отсутствует. И если я создам поддомен вроде v4.example.com у которого есть только IPv4-адрес (а затем используйте v4.example.com/something), это не сработает, поскольку этот поддомен не будет включен в конфигурацию apache и не будет назначен этому vHost.

Могу ли я каким-то образом, просто изменив HTML-форму, заставить клиента отправлять эту форму по IPv4? Или мне для этого нужно внести изменения в конфигурацию Apache?

Как и тот же тест подключения к Интернету, это ошибочно.

  • При сравнении адресов v4 предполагается, что пользовательский агент находится за ожидаемым NAT. Это снижает гибкость при реструктуризации их публичного адресного пространства.
  • NAT операторского класса означает, что адрес v4 может совместно использоваться неизвестным количеством клиентов.
  • Множественная адресация относительно проста. Один и тот же IP-адрес может иметь пути через 3 или 4 разных провайдера.
  • Без v6 заставляет v6 только клиентов через NAT64. Общий ресурс, который не улучшает точность этого теста. Во всяком случае, это будет раздражать ваших пользователей.
  • Существуют сети VPN, которые могут заставить трафик появляться из другой сети.

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

Чтобы определить, откуда поступают соединения, посмотрите таблицы интернет-маршрутизации или используйте API-интерфейсы геолокации.

Единственный способ сделать это:

Отправить форму по адресу v4.example.com, который имеет только запись A для веб-сервера, на который вы отправляете форму.

На веб-сервере настройте виртуальный хост с v4.example.com доменное имя или добавить v4.example.com как дополнительный домен к существующему виртуальному хосту.

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