Как протестировать PHP-приложение на совместимость с IPv6? - PullRequest
4 голосов
/ 17 февраля 2012

У меня есть существующее веб-приложение php, я нахожусь на IPv4, как я могу подделать IPv6-адрес для проверки совместимости приложения с ним? или есть лучший способ проверить совместимость IPv6?

Обновление: Мое приложение регистрирует IP-адрес пользователя, когда он выполняет определенные действия. IP-адреса хранятся в базе данных (из другого вопроса я могу понять, что BINARY - лучший тип столбцов). В приложении также должна быть возможность поиска по IP.

Я хочу, чтобы apache / php работал так, как если бы я использовал IPv6, я должен быть уверен, что совместимость моего приложения с IPv6 готова к работе в обеих сетях IPv4 + IPv6.

Ответы [ 4 ]

5 голосов
/ 17 февраля 2012

Я согласен с Топенером;не беспокойтесь об этом, ваш сайт будет работать нормально с IPv6.Вам не нужно беспокоиться об apache или PHP, они будут работать нормально.

Вам следует заботиться только о хранении адресов IPv6 в базе данных и т. Д. Убедитесь, что вы можете хранить их надлежащим образом и что ваша база данных может обрабатывать адреса IPv6.

Вы можете просто изменить $_SERVER ['REMOTE_ADDR'] по IPv6-адресу:

echo $_SERVER['REMOTE_ADDR']; // will give you your current IP (probaply IPv4)

// change the REMOTE_ADDR to an IPv6 address
$_SERVER['REMOTE_ADDR'] = '3ffe:6a88:85a3:08d3:1319:8a2e:0370:7344';

Дополнительную информацию о хранении IPv6-адресов в базе данных можно найти здесь:

Как хранить IPv6-совместимый адресв реляционной базе данных

0 голосов
/ 05 мая 2015

Также обратите внимание, что для сравнения адресов IPv6 сравнения строк недостаточно. Существуют разные представления одного и того же IP-адреса, например 2001:0DB8:0:0:1::1 - это краткая форма 2001:0db8:0000:0000:0001:0000:0000:0001.

0 голосов
/ 17 февраля 2012

Если ваше приложение регистрирует IP-адреса, убедитесь, что поля для их хранения достаточно велики.Убедитесь, что любое приложение, которое обрабатывает эти журналы, знает, как обращаться с адресами IPv6.Если вам нужно искать адреса по блокам / диапазонам, вы должны использовать соответствующие типы хранения для этого.Если вы осуществляете контроль доступа на основе IP-адреса, то это становится немного сложнее, поскольку клиенты IPv6 могут часто менять свой исходный адрес, когда им разрешены расширения конфиденциальности, поэтому вы можете разрешить доступ для / 64 вместо отдельного адреса.*

И самое главное: тест, тест, тест: -)

0 голосов
/ 17 февраля 2012

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

Пример: 2001:db8::1:0:0:1 и 2001:0DB8:0:0:1::1 и fe80::202:b3ff:fe1e:8329

В противном случае, не беспокойтесь об этом!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...