Проблема защиты форума - пожалуй, наиболее острый вопрос, стоящий перед администратором. На какие только ухищрения не идут владельцы конференций, чтобы хоть как-то обезопасить свое творение от действий недоброжелательных личностей. Между тем, существует немало достаточно простых и вместе с тем весьма эффективных способов осложненить работу взломщика.
Что является наиболее опасным для любого форума, использующего БД? Совершенно верно, SQL-инъекция, возможность выполнения злоумышленником произвольного запроса к базе данных. И хотя базовая рекомендация по безопасности - установка в конфигурации сервера переменной register_globals в off и помогает решить данную проблему, иногда такой способ невозможен, да и не лишним будет предусмотреть дополнительный рубеж обороны. Он весьма прост - необходимо всего-лишь изменить префикс таблиц, с которыми работает форум. По умолчанию он - phpbb_. Придумайте свой собственный префикс, желательно, чтобы он был нестандартным - в таком случае вероятность его подбора будет стремиться к нулю, а именно это нам и нужно.
Не секрет, что скрипты любых форумов (в том числе и код форума phpBB) могут содержать опасные уязвимости, позволяющие хакерам получить полный или частичный доступ к управлению форумом. Конечно, вновь открытые "дыры", достаточно оперативно закрываются разработчиками форумов, но в любом случае, опасность нельзя недооценивать.
В этой статье я постараюсь дать рекомендации, применение которых позволит вам свести к минимуму риск взлома вашего форума.
Давным давно, в 2004 году, создавая корпоративную рассылку для одной московской фирмы, столкнулся с проблемой, когда необходимо было рассылать более 5000 писем за раз. Естественно скрипт просто не успевал за 30 секунд (а именно столько было разрешено у хостера базовыми настройками, а функция set_time_limit() была просто заблокирована ) отправить столько писем. Проблему еще усложняло то, что для каждого подписчика генерировалось свое тело письма по готовому шаблону, с его именем и ссылкой для отписки от рассылки, а также включались вложения в письмо. По моим подсчетам за 30 секунд скрипт успевал генерировать от 300 до 700 писем, в зависимости от загрузки сервера.
данной статье я расскажу, как получать данные из супер-глобальных ассоциативных массивов $_GET, $_POST, $_COOKIE, $_SERVER. Доступ к переменным осуществляется также, как в любом ассоциативном массиве: $_МАССИВ['имя переменной']. Хочу сразу заметить, что данные переменные не нужно объявлять в директиве global при обращении к ним из функции или классов.
Получить значение переменной из любого массива, перечисленного выше очень просто: //Получение значения переменной name //переданной методом GET $name = isset($_GET["name"]) ? $_GET["name"] : false; echo $name; ?>
Семь хороших объектно-ориентированных привычек при программировании на PHP
Семь хороших объектно-ориентированных привычек при программировании на PHP
Если при создании своих приложений на языке PHP вы пока не пользуетесь его объектно-ориентированными возможностями, семь полезных привычек помогут вам начать переход от процедурного программирования к объектно-ориентированному программированию
На начальном этапе развития языка программирования PHP присущие ему ограничения делали PHP-код исключительно процедурным. Процедурный код – это программный код, в котором в качестве стандартных блоков для построения приложения применяются процедуры. Процедуры предполагают определенный уровень повторного использования благодаря возможности их вызова другими процедурами.
Самая распространённая ошибка – игнорирование seo. Когда сайт создаётся с целью монетизации, превращения его в механизм зарабатывания денег, об этом элементе ни в коем случае нельзя забывать.
О том, как раскрутить сайт, в интернете написано уже немало постов. А вот ошибкам, которые допускают оптимизаторы и веб-мастера, уделено незаслуженно мало внимания. В этой статье представлены самые яркие, грубые и частые ошибки. Так что будет над чем поучиться.
Самая распространённая ошибка – игнорирование seo. Когда сайт создаётся с целью монетизации, превращения его в механизм зарабатывания денег, об этом элементе ни в коем случае нельзя забывать. Простительно это только тем, кто занимается ресурсом ради собственной потехи. Привлечь же внимание пользователей наиболее проще как раз инструментами seo. поисковая оптимизация сайта должна проводиться последовательно: создание семантического ядра, выбор ключевых слов, оптимизация страниц под определённые запросы. Вторую ошибку, которую допускают во время раскрутки, можно объяснить, наверное, только невнимательностью. Она настолько нелепа, что оптимизатору должно быть стыдно за её допущение. Речь идёт об элементарных правилах, которых нужно придерживаться, осуществляя продвижение ресурса. Ошибка эта больше характерна для новичков. Опытные специалисты бывают осведомлены о требованиях, выставляемых поисковиками ресурсам.
ftp_connect() – Открывает соединение с удаленным FTP-сервером ftp_login() – Производит авторизацию на удаленном FTP-сервере ftp_get() – Загрузка файлов с удаленном FTP-сервера ftp_close() – Закрывает соединение с удаленным FTP-сервером ftp_quit() – Псевдоним функции ftp_close()
Протокол FTP (File Transfer Protocol – протокол передачи файлов) – один из протоколов Интернета, предназначенный для передачи файлов между двумя хостами.
Как правило, при работе с FTP выполняются следующие стандартные действия: соединение с удаленным FTP-сервером регистрация на FTP-сервере загрузка файлов с сервера или на сервер закрытие соединения
Функция — в программировании — один из видов подпрограммы. Особенность, отличающая её от другого вида подпрограмм — процедуры, состоит в том, что функция возвращает значение, а её вызов может использоваться в программе как выражение. Функция объявляется при помощи слова function, после которого задается имея функции: function MyFunction() { // код PHP }
Если функция принимает аргументы, то они записываются как переменные в объявлении функции. Аргумент функции представляет собой переменную, передаваемую в тело функции для дальнейшего использования в операциях. В случае, когда функция принимает больше одного аргумента, эти переменные разделяются запятыми: function MyFunction($a, $b, $c) { // код PHP
Рекурсия — метод определения класса объектов или методов предварительным заданием одного или нескольких (обычно простых) его базовых случаев или методов, а затем заданием на их основе правила построения определяемого класса, ссылающегося прямо или косвенно на эти базовые случаи.
Другими словами, рекурсия — такая конструкция, при которой функция вызывает саму себя. Есть два типа рекурсий: прямая и косвенная. Функция называется прямо рекурсивной, если из своего тела вызывает саму себя. Если же функция вызывает другую функцию, которая в свою очередь вызывает первую, то такая функция называется косвенно рекурсивной.