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

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

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

В общем, однажды подобная задача встала и передо мной — нужно было телефон на странице выводить в зависимости от страны посетителя сайта. Хождение по Google мало что дало. На многих блогах и форумах я находил какие-то обрезки php-скриптов, в большинстве своем не работающие. А если и попадались работающие скрипты, то проверка производилась только по одному диапазону IP-адресов. Пришлось писать свой php-код, коим и хочу поделиться...
Просмотров: 633 Комментариев: 0
  • 0

FTP клиент на C#

Автор: administrator Дата: 18-12-2018, 18:55 Категория: Статьи и уроки / C# статьи

Обзор FTP


File Transfer Protocol (FTP) — это протокол прикладного уровня, построенный поверх протокола транспортного уровня, обычно поверх TCP. Он используется для копирования файлов с удаленного сервера и на удаленный сервер.

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

В FTP используются два разных соединения — управляющее соединение, на котором посылаются команды и получаются ответы сервера, и соединение для данных, используемое для самой передачи файлов с сервера или на сервер. По умолчанию сервер слушает команды от клиента на порту 21, а когда нужно отправлять данные, открывает второе соединение с портом 20 клиента...
Просмотров: 640 Комментариев: 0
  • 0

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

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

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


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

Защита паролем SqLite DB

Автор: administrator Дата: 16-09-2018, 01:28 Категория: Статьи и уроки / C# статьи

Как защитить паролем SQLite3.


Перед выполнением каких-либо операций установите пароль следующим образом:

SQLiteConnection conn = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
conn.SetPassword("password");
conn.open();


Подключение к базе с паролем осуществляется следующим образом:

conn = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;Password=password;");
conn.Open();


Установленный пароль не позволит графическому редактору просматривать ваши данные.
Некоторые редакторы могут расшифровать БД, если вы укажете пароль. Используемый алгоритм RSA.
Просмотров: 527 Комментариев: 0
  • 0

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

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

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

<?php function(адрес страницы, разрешение, размер, формат); ?>
Просмотров: 604 Комментариев: 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.
Просмотров: 587 Комментариев: 0
  • 0

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-адрес и возвращает массив с его компонентами. Воспользуемся ей для облегчения задачи и уменьшения количества рутинных операций.
Просмотров: 546 Комментариев: 0
  • 0

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

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

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

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

PHP: загрузка файлов. Обработка и сохранение присланных данных.

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

Принципы загрузки файлов

Загрузка файла на сервер может быть выполнена как с помощью веб-формы, расположенной на странице сайта, так и прямым программным запросом. Для PHP-интерпретатора способ передачи файла не имеет значения. Спецификация HTTP-протокола приводит эти операции к единообразному виду.
Любой загружаемый файл будет помещен в специальную директорию для временного хранения, а связанная с ним информация добавлена в суперглобальный массив $_FILES. Если не переместить файл в другое место, после завершения скрипта произойдет его бесследное удаление. Директория временного хранения определяется настройкой upload_tmp_dir конфигурационного файла php.ini...
Просмотров: 650 Комментариев: 0
  • 0

PHP: права доступа к файлам. Установить их или получить значение.

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

Введение в права доступа

Операционные системы имеют различные политики контроля доступа к файлам. PHP не может влиять на них прямым образом. Однако интерпретатор обрабатывает системные сообщения. Например, при выполнении какой-либо операции с файлом, на которую у вас нет прав, встроенные функции перехватывают ошибки и возвращают false.
Для построения WEB-сервисов в основном используются операционные системы Linux и Windows. Их политики контроля доступа совершенно не совместимы. Тем не менее, список файловых операций остается неизменным: создание, чтение, изменение, удаление и запуск исполняемых программ. PHP имеет ряд встроенных функций, самостоятельно определяющих тип операционной системы и вычисляющих доступность прав.
Заметка!
В зависимости от логики приложения может возникнуть потребность проверки прав доступа к файлу до осуществления операции. Это позволит явным образом контролировать поведение программы, а не дожидаться ошибок.

Просмотров: 693 Комментариев: 0
  • 0