PHP: проверка IP-адреса в текстовом файле - PullRequest
1 голос
/ 25 ноября 2011

Я пытался захватить ip-адрес человека и затем сохранить его в текстовом файле, когда человек платит мне за доступ к определенному контенту.Когда я сохраняю IP-адрес в txt-файле (logFile.txt), я хочу, чтобы лицо, оплатившее сбор, было перенаправлено на страницу контента, доступную только для людей, которые заплатили.Я также хочу иметь возможность перенаправлять людей, которые пытаются скопировать / вставить ссылку браузера в «дополнительный контент».

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

ps Я потратил часы, пытаясь выяснить это, записав его в текстовый файл, чтобы избежать mysql

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

Ответы [ 2 ]

4 голосов
/ 25 ноября 2011
  1. Почему вы пытаетесь избежать MySQL? Если два пользователя делают это одновременно, одна из записей в файл журнала может быть потеряна или заблокирована. MySQL принимает меры для предотвращения этого. Это также, вероятно, будет быстрее.
  2. IP-адреса не являются уникальными (два пользователя могут использовать один IP-адрес) и не являются постоянными для данного пользователя (один пользователь может использовать два IP-адреса). Я был бы очень расстроен, если бы я заплатил за контент, а потом не мог получить к нему доступ, потому что у меня нет статического IP-адреса.
  3. И наконец (чтобы более прямо ответить на ваш вопрос), вы можете использовать $_SERVER['REMOTE_ADDR'], чтобы получить IP-адрес пользователя, и file_put_contents , чтобы записать его в файл, но я не уверен, как вы это лучший способ.
1 голос
/ 25 ноября 2011

Вы можете хранить IP-адреса в массиве:

array{
   [0] => '192.168.1.1',
   [1] => '192.168.1.2',
}

Затем перед сохранением в текстовый файл используйте serialize для массива. Это вернет строку, которую вы можете записать в ваш текстовый файл.

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

...