Главная страница » Статьи и уроки » PHP статьи
Опрос
Какие статьи добавлять?

Проверка IP-адреса по маске подсети в массиве php

Автор: administrator Дата: 30-12-2018, 11:38 Категория: Статьи и уроки / PHP статьи
Разработчикам сайтов часто требуется определить, принадлежит ли IP-адрес посетителя к определенной подсети. Задачи, стоящие за этим, могут быть разными: от адаптации контента под географическое положение пользователя (например, отображение разных материалов для разных стран) до блокировки доступа по IP-адресу. Хотя, стоит отметить, что для блокировки, как правило, предпочтительнее использовать .htaccess.

Однажды и я столкнулся с подобной задачей: необходимо было отображать номер телефона на странице, основываясь на стране посетителя. Поиски в Google не принесли желаемого результата. На форумах и в блогах встречались фрагменты PHP-кода, большинство из которых не функционировали. Рабочие скрипты, если и попадались, ограничивались проверкой лишь одного диапазона IP-адресов. В итоге, мне пришлось создать собственный PHP-код, которым я и хочу поделиться…
Просмотров: 3 427 Комментариев: 0
  • Не нравится
  • 0
  • Нравится

PHP: Полезные мелочи

Автор: administrator Дата: 3-11-2018, 22:19 Категория: Статьи и уроки / PHP статьи

Полезные, но уже устаревшие некоторые функции в php:


  • Яндекс тИЦ
  • Яндекс число страниц в индексе
  • Веб прокси
  • LiveInternet статистика
  • Число подписчиков в FeedBurner
  • Выводим Alexa Rank
Просмотров: 1 016 Комментариев: 0
  • Не нравится
  • 0
  • Нравится

Парсим скриншот сайта - PHP скрипт

Автор: administrator Дата: 8-09-2018, 17:38 Категория: Статьи и уроки / PHP статьи
В данной статье опишем как работает скрипт для создания скриншота любой страницы в интернете.
Скриншот сайта это небольшая картинка, которая позволяет пользователю не заходя на сайт увидеть как тот выглядит. Скрипт будет полезен если ваш сайт занимается рекламированием других сайтов, например "Яндекс.Каталог" зайдите в любой раздел и вы увидите возле каждого сайта небольшую картинку того сайта которого рекламирует яндекс.

Функция будет работать следующим образом:

<?php function(адрес страницы, разрешение, размер, формат); ?>
Просмотров: 1 988 Комментариев: 0
  • Не нравится
  • 0
  • Нравится

Как определить запрос из tor-сети

Автор: administrator Дата: 24-08-2018, 21:25 Категория: Статьи и уроки / PHP статьи
Для определения ip-адреса из tor-сетки можно послать запрос для A-записи, вида
<reversed ip>.<port>.<addr>.ip-port.exitlist.torproject.org
Где: reversed ip - целевой ip в DNS PTR виде (перевернутый) port - порт, на который стучится запрос от целевого адреса addr - ip-адрес, на который стучится целевой адрес Например, если мы проверяем ip 30.1.234.50, который долбится на адрес 80.10.200.30 на порт 80, то наш конечный запрос на проверку будет выглядеть так: 50.234.1.30.80.80.10.200.30.ip-port.exitlist.torproject.org В итоге, если конечный запрос долбится с tor сетки через целевой ip на определенный порт на определенный адрес, то в указанном запросе нам вернется 127.0.0.2. В противном случае вернется nxdomain.
Просмотров: 1 913 Комментариев: 0
  • Не нравится
  • +1
  • Нравится

PHP: «Умная» проверка URL-адреса

Автор: administrator Дата: 8-08-2018, 21:54 Категория: Статьи и уроки / PHP статьи
Довольно часто встречаются ситуации, когда нужно проверить на корректность URL-адрес, введенный пользователем. При этом, хорошо было бы не обременять самого пользователя вводом протокола http/https, но предоставить ему такую возможность.

То есть, «правильным» должен считаться, как URL, вида http://example.com/, так и example.com. В случае, если протокол не был указан, по умолчанию к конечному значению добавляется http://.

Создадим функцию parse_url_if_valid, которая будет принимать «сырую» строку URL, и возвращать корректный URL в том случае, если его удалось привести к должному виду. В противном случае, функция будет возвращать значение null.

В PHP есть встроенная функция parse_url, которая разбирает URL-адрес и возвращает массив с его компонентами. Воспользуемся ей для облегчения задачи и уменьшения количества рутинных операций.
Просмотров: 1 457 Комментариев: 0
  • Не нравится
  • 0
  • Нравится

PHP: блокировка доступа к файлу. Контроль доступа во время выполнения

Автор: administrator Дата: 30-04-2018, 21:19 Категория: Статьи и уроки / PHP статьи

Блокировка файлов с ожиданием

При осуществлении файловых операций нужно учитывать возможность их параллельного выполнения. С одним и тем же файлом могут взаимодействовать различные процессы. Одни выполняют чтение, а другие записывают данные. Некоторые задачи, решаемые в PHP, требуют явного контроля над таким поведением. Например, если в настоящий момент происходит запись в файл, нужно подождать его завершения перед началом чтения. Таким образом, пользователь будет получать актуальную информацию о содержимом.
PHP имеет встроенный механизм блокировки доступа к файлам. Он реализует консультативную модель (англ. advisory locking). Это означает, что все программы, работающие с файлом, должны реализовывать один и тот же способ проверки и использования блокировок. Иначе они не будут работать.
Блокировки доступа бывают двух типов: монопольная — другие процессы не могут записывать и читать данные пока не будет снята блокировка, совместная — все процессы могут читать, но не записывать.
Для блокировки файла используйте функцию flock(). В первом параметре она принимает дескриптор файла, а во втором указывается тип блокировки. Тип можно задать с помощью встроенных констант LOCK_SH(совместная) или LOCK_EX (монопольная). Функция возвращает true в случае захвата файла или false, если произошла ошибка. flock() также отвечает и за снятие блокировки. Для этого передайте ей дескриптор файла, а во втором параметре укажите константу LOCK_UN.
Просмотров: 3 435 Комментариев: 1
  • Не нравится
  • 0
  • Нравится