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

Пример MVC в php. Маршрутизация, контролеры, экшены, шаблоны и модели

Автор: administrator Дата: 10-06-2017, 20:10 Категория: Статьи и уроки / PHP статьи
В этой статье мы напишем «каркас» нашего проекта. Под словом «каркас» я подразумеваю рабочий код, который будет иметь в своей основе MVC подход, то есть будет иметь четкое разделение логики на контролеры, экшены, шаблоны (представления) и модели.
Просмотров: 6 782 Комментариев: 0
  • Не нравится
  • 0
  • Нравится

Блокировка Tor-браузеров на своих сайтах

Автор: administrator Дата: 8-05-2016, 05:14 Категория: Статьи и уроки / PHP статьи
Многие вебмастера наверняка слышали, а возможно даже и пользуются Tor-браузером, с помощью которого практически невозможно отследить пользователя. Этот браузер хорош тем, что с помощью него можно свободно пользоваться Интернетом, в тех странах, где есть жесткая цензура.

Но не всегда tor, настолько безобиден, как может показаться на первый взгляд. Например, с помощью этого браузера, можно посещать сайты на которых вас заблокировали и Администраторы и модераторы сайта не догадаются, что это вы. Но лично я считаю, что если человек пользуется Tor-браузером, или прокси, то ему есть, что скрывать от Администраторов сайтов, или от других лиц. Поэтому, я предпочитаю блокировать на своих сайтах доступ с Tor и реже блокирую доступ с прокси-серверов.
Просмотров: 3 466 Комментариев: 0

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

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

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

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

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

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

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

PHP: Буферизация вывода

Автор: administrator Дата: 20-12-2014, 01:11 Категория: Статьи и уроки / PHP статьи
Буферизация вывода в PHP это довольно полезная штука, если уметь ею пользоваться.

Скажите сколько раз вы видели ошибки типа:
Warning: Cannot modify header information - headers already sent by (output started at ...)
Просмотров: 3 029 Комментариев: 0
  • Не нравится
  • 0
  • Нравится

Кроссбраузерное добавление страницы в закладки

Автор: administrator Дата: 18-01-2015, 10:44 Категория: Статьи и уроки / PHP статьи
Кроссбраузерное добавление страницы в закладки реализуется с использованием jаvascript. Для добавления страницы в Избранное браузеров Internet Explorer и браузеров, работающих на движке IE, вызывается стандартный метод AddFavorite. Однако здесь есть одна важная деталь. Если страница IE открыта как embedded-объект в другом приложении, например в плагинах или при использовании компонентов для работы с html, то объект window.external присутствует, но его метод AddFavorite не срабатывает. Это наиболее частая ошибка разработчиков, которые просто копируют код друг у друга без его понимания и тестирования. Также большой ошибкой будет использование на своем сайте только одного этого способа.
Просмотров: 2 787 Комментариев: 0
  • Не нравится
  • 0
  • Нравится