Домой / Mozilla Firefox / Создание файла конфигурации в PHP. Создание файла конфигурации в PHP Ключи безопасности для шифрования доступа к файлам cookies пользователя

Создание файла конфигурации в PHP. Создание файла конфигурации в PHP Ключи безопасности для шифрования доступа к файлам cookies пользователя

I am rather surprised at the accepted answer here, and the number of upvotes it has garnered. With the exception of the answer by Marcio Mazzucato, there is no discussion of the relative merits / weaknesses of any of multiple approaches.

The options I see are:

File based mechanisms

These require that your code look in specific locations to find the ini file. This is a difficult problem to solve and one which always crops up in large PHP applications. However you will likely need to solve the problem in order to find the PHP code which gets incorporated / re-used at runtime.

Common approaches to this are to always use relative directories, or to search from the current directory upwards to find a file exclusively named in the base directory of the application.

Common file formats used for config files are PHP code, ini formatted files, JSON, XML, YAML and serialized PHP

PHP code

This provides a huge amount of flexibility for representing different data structures, and (assuming it is processed via include or require) the parsed code will be available from the opcode cache - giving a performance benefit.

The infrastucture supports caching, replication and distribution. Hence it works well for very large infrastructures.

Version Control systems

Configuration, like code should be managed and version controlled - hence getting the configuration directly from your VC system is a viable solution. But often this comes with a significant performance overhead hence caching may be advisable.

Благодарим Вас за проявленный интерес к нашему сайту. Компания Айтишник существует с 2006 года и предоставляет услуги IT аутсорсинга. Аутсорсинг - это перепоручение необходимых, но непрофильных для компании работ другой организации. В нашем случае это: создание, поддержка и сопровождение сайтов, продвижение сайтов в поисковых системах, поддержка и администрирование серверов под управлением Debian GNU/Linux.

Сайты на Joomla

В нынешний век информации, сайт де факто, становится как минимум визитной карточкой организации, а зачастую одним из инструментов бизнеса. Уже сейчас сайты создаются не только для организаций и частных лиц, но и для отдельных товаров, услуг и даже событий. На сегодняшний день сайт это не только источник рекламы на гигантскую аудиторию, но и инструмент для продаж и завязывания новых контактов. Мы создаем сайты, используя CMS Joomla! Эта система управления сайтами проста и интуитивно понятна. Она очень широко распространена и, следовательно, в Интернете о ней содержится большое количество информации. Найти специалиста, работающего с Joomla тоже несложно. И вам не надо далеко ходить! Наша компания Айтишник занимается обслуживанием и сопровождением сайтов на Joomla! Мы проведём все технические работы, возьмём на себя всю переписку с хостером и регистратором домена, наполним сайт и обновим на нём информацию. И хотя Joomla проста в управлении, интуитивно понятна. Но будете ли вы сами регулярно выполнять необходимые работы на сайте? Сколько времени они отнимут у вас? Если вы хотите сконцентрироваться на своём деле, то доверьте поддержку вашего сайта нам. Мы сделаем все от нас зависящее, чтобы сайт жил и приносил пользу своему владельцу.
Если вы коммерческая организация, которая рекламирует или продаёт свои товары, услуги в Интернет, то вам просто необходимо продвижение сайта в поисковых системах. Ведь для того, чтобы продать что-нибудь надо, как минимум, чтобы это увидели, чтобы об этом узнали. И мы поможем вам в этом, мы продвинем ваш Joomla сайт в поисковых системах. В зависимости от конкуренции и выделенного для продвижения бюджета, ваш сайт будет занимать достойные позиции в поисковой выдаче. Сайт увеличит вашу прибыль!

Серверы Debian

Рано или поздно, стремясь к открытости и прозрачности своего бизнеса, многие компании сталкиваются с необходимостью обеспечения лицензионной чистоты используемого программного обеспечения. Однако, далеко не всегда затраты на лицензионные отчисления приемлемы, в особенности для малого и среднего бизнеса. Выходом из этой сложной ситуации является решение о переходе на Open Source технологии. Одним из направлений Open Source является операционная система Linux (Линукс). Сотрудники нашей компании специализируются на Debian Linux (Дебиан Линукс). Это старейший и наиболее устойчивый дистрибутив операционной системы Линукс. Мы предлагаем вам услуги по внедрению Debian Linux на Вашем предприятии, настройку, обслуживание и поддержку серверов.

Информация и реклама

Рассмотрим подробнее файл wp-config.php , с его помощью можно расширить функционал и улучшить безопасность CMS WordPress.
Находится он, по умолчанию, в корне сайта . Получить доступ к нему можно по FTP через ftp-клиент (filezilla – один из самых популярных). А для редактирования воспользоваться редактором Notepad++. Изменения в конфигурацию WordPress вносятся путем простого добавления или редактирования существующих строк.
Добавлять строки можно в любое место, но чтобы было легче найти собственные изменения, лучше это делать в одном месте, например в начале файла, после вступительных комментариев.

Итак, вот полезные параметры:

  • Начиная с версии 2.6 CMS WP можно переместить этот файл на один уровень выше корня сайта, повысив тем самым безопасность. хостинг/директория с CMS/wp-config.php хостинг/wp-config.php

    CMS самостоятельно найдет файл конфигурации на один уровень выше директории установки. Никаких дополнительных действий с вашей стороны не потребуется.

  • Имеется поддержка SSL-шифрования для работы в админ-панели: define ("FORCE_SSL_ADMIN", True);

    или только для формы Логина login.php

    Define(‘FORCE_SSL_LOGIN’, true);

    А также, можно включить SSL для всего сайта, т.е. пользователи будут работать c WordPress через протокол HTTPS. Возможно, вам потребуется подписанный сертификат безопасности (неподписанные, так называемые «самоподписанные» или «самоизданные» сертификаты требуют подтверждения согласия пользователя для работы, чем могут отпугнуть потенциальных посетителей сайта).

  • В файле wp-config.php хранятся записи для взаимодействия CMS и базы данных, здесь вы можете легко изменить пароль для пользователя БД и его имя, имя сервера. define("DB_NAME", "database-name"); define("DB_USER", "database-username"); define("DB_PASSWORD", "database-password"); define("DB_HOST", "localhost");
  • Здесь же Вы можете сделав недействительными cookies пользователей.
  • Сменить язык CMS, указав путь к файлам перевода: * Измените этот параметр, чтобы настроить локализацию. Соответствующий MO-файл * для выбранного языка должен быть установлен в wp-content/languages. Например, * чтобы включить поддержку русского языка, скопируйте ru_RU.mo в wp-content/languages * и присвойте WPLANG значение "ru_RU". define("WPLANG", "**"); define("LANGDIR", "**");
  • Изменить правила отображения для URL-адресов сайта можно в строках: define("WP_SITEURL", "http://mydomain.com/wordpress_folder");

    Также можно менять URL динамически:

    Define("WP_SITEURL", "http://" . $_SERVER["SERVER_NAME"] . "/хостинг/ wordpress");

    Переменная $_SERVER будет отвечать за динамическое изменение URL. По соображениям безопасности, в качестве аргумента используйте “SERVER_NAME”, ибо за данное значение отвечает веб-сервер.
    А так можно поменять адрес домашней страницы блога на WordPress по умолчанию:

    Define("WP_HOME", "http://example.com");

  • Если вы занимаетесь допиливанием движка WordPress или пишете свой Плагин, не лишней будет любезно предусмотренная функция Дебаггинга (отображение ошибок «на лету»). По умолчанию она отключена. Включить WordPress Debugging можно в строках: define("WP_DEBUG", true);

    Включаем сохранение всех запросов к БД WordPress:

    Define("SAVEQUERIES", true);

    А для того чтобы увидеть их в браузере, необходимо добавить в файл темы (footer.php, header.php, index.php – в зависимости от того, где вы хотите увидеть запросы) следующие строки:

    If (current_user_can("level_10")) { global $wpdb; echo "<рre>"; print_r($wpdb->queries); echo ""; }

    Теги «pre», как вы уже догадались, предназначены для предотвращения обработки браузером стека запросов. 10 левел пользователя гарантирует (если вы ещё не все сломали) вывод строк только для Администраторов. Не забудьте отключить всё это после отладки.

  • WordPress по умолчанию сохраняет изменения ваших статей в базу данных, засоряя её ненужным мусором, который уже никогда не пригодится. Избежать этого просто:
    1. Устанавливаем интервал автосохранения (в секундах): define("AUTOSAVE_INTERVAL", 500);

      — каждые 500 секунд редактируемые статьи будут сохраняться.

    2. Задаём количество хранимых изменений статьи define("WP_POST_REVISIONS", 3);

      Можно отключить эту функцию полностью:

      Define("WP_POST_REVISIONS", false)

    3. Заодно, настроим авто-удаление статей из корзины WP (мусор будет храниться в корзине 5 дней) define("EMPTY_TRASH_DAYS", 5);
    4. Все ревизии статей, которые вы делали до внесения изменений в wp-config.php , останутся в Базе Данных. Чтобы избавиться от них можно воспользоваться сторонним плагином, или выполнить в phpMyAdmin (Веб-интерфейс управления базой данных) следующий запрос: DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = "revision"
  • Привелегии и полномочия для FTP/SSH .
    Если вы работаете по FTP напрямую из админ-панели WordPress, могут пригодиться возможности для определения метода работы, не забудьте корректно указать пути до директорий на веб-сервере. define("FS_METHOD", "ftpext"); define("FTP_BASE", "/ путь/до/wordpress/"); define("FTP_CONTENT_DIR", "/путь/до/wordpress/wp-content/"); define("FTP_PLUGIN_DIR ", "/ путь/до/wordpress/wp-content/plugins/"); //путь к SSH public key define("FTP_PUBKEY", "/*/*/.ssh/id_rsa.pub"); //путь к SSH private key define("FTP_PRIVKEY", "/*/*/.ssh/id_rsa"); //Имя пользователя и пароль define("FTP_USER", "пользователь"); //password for FTP_USER username define("FTP_PASS", "пароль"); //Сервер:порт FTP/SSH define("FTP_HOST", "ftp.example.com:21");

    Можно включить «прямой» метод работы FTP, но ваш хостинг может не поддерживать эту функцию

    Define("FS_METHOD", "direct");

  • В случае если таблицы БД повреждены и вы не можете даже залогиниться, попробовать восстановить базу данных WordPress можно стандартной функцией (вариант работает не всегда): define("WP_ALLOW_REPAIR", true);

    После этого необходимо открыть в браузере страницу

    Ваш-домен/wp-admin/maint/repair.php

  • Хорошая возможность для улучшения безопасности – использование собственных названий для таблиц пользователей: define("CUSTOM_USER_TABLE", $префикс."Ваше-название"); define("CUSTOM_USER_META_TABLE", $префикс."Ваше-название");
  • Используя собственный хостинг под сайт с высокой посещаемостью, вам возможно будет необходимо увеличить Предел выделяемой для WordPress оперативной памяти сервера. Если вы часто видите на сайте ошибки типа «memory exhausted» (память исчерпана) попробуйте прописать в wp-config.php следующее: define("WP_MEMORY_LIMIT", "128M");

    Устанавливает предел памяти для скриптов CMS WP в 128 Мегабайт.

  • Есть возможность отключить редактирование файлов темы и плагинов WordPress из административной панели. define("DISALLOW_FILE_EDIT", TRUE);

    Ограничив таким образом редактирование файлов – не забудьте в свою очередь защитить от редактирования сам файл wp-config.php . Для этого ограничте доступ к ftp для тех лиц (и скриптов), от которых вы ждёте неадекватных действий.

Каким-то образом вы случайно удалили файл config.php вашего форума, и теперь ваша конференция не работает, или же во время установки не записался config.php вследствие некорректных настроек прав доступа к файлам. В обоих случаях файлы и база данных по-прежнему присутствуют и функциональны, они просто не могут подключиться друг к другу. Не стоит паниковать и бросаться переустанавливать конференцию. сonfig.php очень легко можно создать вручную, если у вас под рукой есть установочные данные для подключения к базе данных.

Структура и восстановление файла config.php

Итак, давайте рассмотрим создание нового config.php .

Чтобы создать новый файл config.php, необходимо использовать текстовые редакторы для Windows, такие как Notepad (блокнот) или лучше текстовые простые редакторы, например Notepad++ или Notepad2.

Откройте текстовый редактор и создайте новый файл.
В этот файл вставьте следующий код:

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

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

$dbms = "mysql"; замените mysql в соответствии с типом используемой базы данных. Можете использовать следующие типы:
mysql
mysqli
firebird
mssql
mssql_odbc
oracle
postgres
sqlite

$dbhost = "database host/domain"; замените database host/domain на адрес хоста или доменный адрес сервера вашей базы данных. Во многих случаях это может быть localhost, но лучше об этом справиться у вашего провайдера. Примеры использования:
chubais_sobaka.sveta.net:6603
localhost
dbrs.sigmanet.com

$dbport = "database port if not default"; замените database port if not default на номер порта сервера базы данных, который используется для входящих соединений. Если сервер использует порт по умолчанию, оставьте это поле пустым. Вам необходимо ввести какое-то другое значение, если сервер базы данных использует другой порт, отличный от порта по умолчанию.

$dbname = "database name"; замените database name на имя базы данных, которую вы указали при установке конференции phpBB3. Если у вас есть доступ к базам данных посредством например PhpMyAdmin, вы сможете узнать его оттуда, в противном случае обратитесь за помощью к вашему провайдеру.

$dbuser = "database user name"; замените user name на значение учетной записи пользователя базы данных. Во всех случаях для подключения к базе данных требуется учетная запись пользователя, которая используется для подключения к ней.

$dbpasswd = "database password"; замените database password на пароль к учетной записи пользователя базы данных.

$table_prefix = "database table prefix"; замените database table prefix на префикс таблиц базы данных. По умолчанию, если вы не меняли префикс при установке, он будет phpbb_ , однако возможно вы его изменили, поэтому проверьте его, подключившись к базе данных через phpMyAdmin.

$acm_type = "file";
$load_extensions ="";
@DEFINE ("PHPBB_INSTALLED", true);

//@DEFINE ("DEBUG", true); NB: если вы раскомментируете (удалив //) эти строки, то вам станет доступна дополнительная отладочная информация, например вы будете получать сообщения об ошибках в синтаксисе сценариев php, если они где-то были допущены.
//@DEFINE ("DEBUG_EXTRA", true);

После завершения редактирования файла сохраните его под именем config.php , убедившись, что текстовый редактор не сохранил его как config.txt или config.php.txt.

Теперь у вас есть ваш новый config.php, который необходимо загрузить с помощью FTP-клиента. Он должен быть загружен в папку, где установлен сам форум phpBB3, в том же самом месте, что и файл common.php.

В большинстве случаев FTP-клиент установит правильные права доступа к файлам, но вы должны убедиться, что на файл установлены права 644 (chmod 644).

Помните, что при создании config.php вы можете не иметь ничего, кроме исходных тегов . Между ними могут быть пустые строки или пробелы, но абсолютно ничего не может находиться за пределами тегов PHP

Файл wp-config.php важнейший файл CMS WordPress. Файл wp-config.php определяет основные функциональные задачи движка WP, начиная от принципиальной функции, взаимодействия с базой данных и хостингом сайта и заканчивая, дополнительной настройкой, управления мусорной корзиной сайта.

Напомню, что первый раз вы сталкиваетесь с файлом wp-config.php при . Сразу после закачивания файлов CMS WordPress в каталог сайта на свой хостинг, нужно переименовать файл wp-config-sample.php в файл wp-config.php . После переименования файл wp-config.php редактируется под данные вашего хостинга.

Примечание: Уже давно не требуется отдельно редактировать файл wp-config. Параметры , вводятся непосредственно из браузера при установке CMS.

Важно! Не используйте для редактирования файлов wordpress текстовыми редакторами типа Microsoft Word. Используйте редакторы с элементарными режимами форматирования текста. Для этих целей подходит блокнот Windows, но лучшим редактором для файлов WP остается (для меня конечно) Notepad++.

Примечание: При обновлении системы пользовательские изменения в файле wp-config.php пропадут.

Обязательные изменения файла wp-config.php при установке WordPress

Прежде всего, при установке WordPress необходимо ввести в файл wp-config.php параметры вашей базы данных MySQL, созданной для сайта:

  • Имя базы данных для WordPress;

(‘DB_NAME’, ‘database_name_here’)

  • Имя пользователя MySQL;

(‘DB_USER’, ‘username_here’)

  • Пароль к базе данных MySQL;

(‘DB_PASSWORD’, ‘password_here’)

  • Имя сервера MySQL;

(‘DB_HOST’, ‘localhost’)

Имя базы, имя пользователя и пароль вы сами задаете при создании базы данных на хостинге. Имя сервера MySQL должен предоставить хостинг провайдер. (Не путайте имя сервера MySQL с именем сервера хостинга). Обычно имя сервера MySQL ‘localhost’, но это может быть и IP адрес, где расположили сервер MySQL.

Эти изменения файла wp-config.php достаточны для удачной установке WP. Все изменения в файле wp-config.php можно сделать, как до закачки WordPress на хостинг у себя на компьютере, так после закачки, войдя в каталог по FTP.

Но есть в базовой настройке файла wp-config.php один пункт, на который не обращаешь внимание при первой установке WordPress. Изменение этого пункта позволяет сделать несколько сайтов WordPress на одной базе данных MySQL.

Изменение префикса базы данных в файле wp-config.php

Если на вашем хостинге ограничено количество создаваемых баз данных, то для их экономии можно создавать несколько сайтов WordPress на одной базе данных (лучше ограничиться двумя сайтами).

При установке второго WordPress на одну базу данных, вводятся все параметры прежней базы данных, а в строке «Префикс таблиц в базе данных WordPress» вместо стандартного префикса , вписываем любой разумно читаемый префикс. Используем только нижний регистр, латинские буквы и арабские цифры. Заканчивать префикс нужно знаком подчеркивания [_]. После изменения префикса в wp-config.php можно «заливать» файлы второго сайта WP на хостинг. Отмечу, что второй сайт нужно устанавливать в новую папку, заранее созданного субдомена.

Примечание: Говоря о префиксе базы данных, следует отметить, что для обеспечения серьезной безопасности сайта WP рекомендуется изначально на любой другой, рекомендовано не более 4 символов. Почему именно 4, не знаю, у меня есть префиксы из 6 знаков по типу пароля.

Ключи безопасности для шифрования доступа к файлам cookies пользователя

Файл wp-config.php WordPress кроме конфигурации системы, является первым рубежом безопасности системы. Wordpress предлагает установить в файле 8 ключей для аутентификации пользователя. ‘AUTH_KEY’, ‘SECURE_AUTH_KEY’, ‘LOGGED_IN_KEY’, ‘NONCE_KEY’, ‘AUTH_SALT’, ‘SECURE_AUTH_SALT’, ‘LOGGED_IN_SALT’, ‘NONCE_SALT’. Без этих ключей wordpress будет прекрасно работать, но в безопасности сайта образуется большая брешь. Вводить ключи нужно один раз после установки Wordpress. Для генерации имени ключей можно воспользоваться сервисом ключей WordPress, который указан в комментариях файла. При открытии этого адреса вы увидите 8 ключей, которые последовательно нужно скопировать и вставить в файл wp-config.php. При обновлении этой страницы, ключи меняются.

Изменение файла wp-config.php для дополнительной настройки сайта WordPress

Файл wp-config.php важен не только основными настройками, но и интересен дополнительными настройками которые могут улучшить работу сайта (но если не улучшить, так изменить точно). Вот несколько из них:

Изменить паку языковой локализации WP

define("WPLANG", "ru_RU"); define("LANGDIR", "mylanguagedirectory"); //Если языковой файл загружен не в папку languages .

Изменение очистки мусора сайта

Вся удаляемая с сайта информация хранится на сайте в течении 30 дней (по умолчанию). Это время можно сократить или увеличить.

Define("EMPTY_TRASH_DAYS", 30); // 30 days

Отключить хранение удаленных файлов

define("EMPTY_TRASH_DAYS", 0); // Мусора нет нигде.

Вы можете переместить или установить wordpress не в корневую папку, а предположим в папку «blog». Чтобы перемещение сайта не отразилось на адресах в выдаче редактированием файла config.php можно указать новые локальные пути ко всем каталогам системы («wp-content», «plugins» и т.п). Для каталога «wp-content» нужно установить для WP_CONTENT_DIR новый локальный путь к каталогу. Все пути указываются относительные, от корневой папки сайта.

Например,

Define ("WP_CONTENT_DIR", $_SERVER["DOCUMENT_ROOT"] . "/blog/wp-content");

Можно указать опцией WP_CONTENT_URL не относительный, а полный путь URI блога для этого каталога. Например:

Define("WP_CONTENT_URL", "http://example/blog/wp-content");

Можно изменить путь к папке с плагинами и установить опцией WP_PLUGIN_DIR локальный путь к этому каталогу. Например:

Define("WP_PLUGIN_DIR", $_SERVER["DOCUMENT_ROOT"] . "/blog/wp-content/plugins’);

Правда стоит отметить, что изменении пути к каталогу «plugin», может возникнуть проблема с некоторыми плагинами.

Редактирование config.php можно изменить интервал автосохранения WP

При редактировании статей, WordPress использует Ajax для автоматического сохранения изменений статьи. То есть, во время редактирования статьи система автоматом сохраняет сделанные изменения. Можно увеличить этот параметр, установив более длительные задержки между автосохранениями. Также можно его уменьшить. По умолчанию значение автосохранения составляет 60 секунд. Если вы не видите эту опцию в файле wp-config.php , то значит применено значение по умолчанию.

Define("AUTOSAVE_INTERVAL", 60); // Автосохрание каждые 60 секунд;

Ограничить количество ревизий записи

Можно ограничить количество возможных редакций материалов.

Define("WP_POST_REVISIONS", 5);// 5 -количество возможных редакций материалов.

Сохранение копий редактируемых записей

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

Отключить сохранение отредактированных записей можно следующей строкой:

define("WP_POST_REVISIONS", false);

Указать определенное число отредактированных записей можно так

Define("WP_POST_REVISIONS", 3);

Число сохраняемых ревизий указывается целым числом. Например, 3 или 5 или 7.

Отладка системы WordPress

Опции WP_DEBUG управляет отображением некоторых ошибок и предупреждений. Если этот параметр отсутствует в файле wp-config.php , то значение считается ложным. Чтобы опцию включить нужно добавить в код следующие строки:

Define("WP_DEBUG", true); define("WP_DEBUG", false);

Для того чтобы WordPress позволил вам изменять некоторые из встроенных скриптов JavaScript, нужно позволить (true) WordPress следующие опции:

Define("SCRIPT_DEBUG", true);

Добавление этой строки в wp-config.php позволит вам редактировать ;;.

Управление Javascript в WordPress

В WordPress все встроенные Javascript файлы объединяются в один URL. Это делается для ускорения работы сайта. Но если Javascript не может работать в Вашей hand-up области сайта (администрировании), вы можете попробовать отключить эту функцию (false):

Define("CONCATENATE_SCRIPTS", false);

Если вы получите сообщение «разрешенный объем памяти байт исчерпаны хххххх», то значит, исчерпан лимит памяти выделенной для PHP. По умолчанию это 32 Мбайта (смотреть код вначале файла wp-setting.php ). Это объем памяти только для WordPress, а не для приложений.

Если ваш хостинг не возражает против увеличения памяти для PHP, то можно указать wordpress ,использовать больший объем памяти. Например:

Увеличение PHP памяти до 64МВ
define("WP_MEMORY_LIMIT", "64M");
Увеличение PHP памяти до 96МВ
define("WP_MEMORY_LIMIT", "96M");

Хочется отметить, что многие устанавливают лимит памяти для PHP в 8 мегабайт.

При помощи опции

Define("WP_ALLOW_REPAIR", true);

Можно включить автоматическую оптимизацию баз данных WP.