Một trong những tệp quan trọng nhất của bản cài đặt WordPress là tệp cấu hình. Nó nằm trong thư mục gốc và chứa các định nghĩa không đổi và các hướng dẫn PHP giúp WordPress hoạt động theo cách bạn muốn.
Tệp wp-config.php lưu trữ dữ liệu như chi tiết kết nối cơ sở dữ liệu, tiền tố bảng, đường dẫn đến các thư mục cụ thể và rất nhiều cài đặt liên quan đến các tính năng cụ thể mà Tài sẽ đi sâu vào bài viết này.
Tệp wp-config.php cơ bản
Khi bạn lần đầu tiên cài đặt WordPress, bạn được yêu cầu nhập thông tin bắt buộc như chi tiết cơ sở dữ liệu và tiền tố bảng. Đôi khi, máy chủ lưu trữ của bạn sẽ thiết lập WordPress cho bạn và bạn sẽ không được yêu cầu chạy thủ công thiết lập. Nhưng khi bạn chạy thủ công cài đặt 5 phút, bạn sẽ được yêu cầu nhập một số dữ liệu có liên quan nhất được lưu trữ vào wp-config.
Khi bạn chạy thiết lập, bạn sẽ được yêu cầu nhập dữ liệu được lưu trữ trong tệp wp-config.php
Đây là một tệp wp-config.php cơ bản :
// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘database_name_here’);
/** MySQL database username */
define(‘DB_USER’, ‘username_here’);
/** MySQL database password */
define(‘DB_PASSWORD’, ‘password_here’);
/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);
/** Database Charset to use in creating database tables. */
define(‘DB_CHARSET’, ‘utf8’);
/** The Database Collate type. Don’t change this if in doubt. */
define(‘DB_COLLATE’, ”);
define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(‘NONCE_KEY’, ‘put your unique phrase here’);
define(‘AUTH_SALT’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_SALT’, ‘put your unique phrase here’);
define(‘LOGGED_IN_SALT’, ‘put your unique phrase here’);
define(‘NONCE_SALT’, ‘put your unique phrase here’);
$table_prefix = ‘wp_’;
/* That’s all, stop editing! Happy blogging. */
Thông thường, tệp này được tạo tự động khi bạn chạy thiết lập, nhưng đôi khi WordPress không có đặc quyền để ghi vào thư mục cài đặt. Trong tình huống này, bạn nên tạo một tệp wp-config.php trống , sao chép và dán nội dung từ wp-config-sample.php và đặt các giá trị phù hợp cho tất cả các hằng số đã xác định. Khi bạn hoàn tất, tải tệp của bạn vào thư mục gốc và chạy WordPress.
Lưu ý: các định nghĩa không đổi và các hướng dẫn PHP đi theo một thứ tự cụ thể mà chúng ta không bao giờ nên thay đổi. Và chúng ta không bao giờ nên thêm nội dung dưới dòng bình luận sau:
/* That’s all, stop editing! Happy blogging. */
Đầu tiên, hãy đến các định nghĩa về hằng số cơ sở dữ liệu mà bạn nên nhận được từ máy chủ của mình:
- DB_NAME
- DB_USER
- DB_PASSWORD
- DB_HOST
- DB_CHARSET
- DB_COLLATE
Theo chi tiết cơ sở dữ liệu, tám khóa bảo mật sẽ giúp trang web an toàn hơn trước các tin tặc. Khi bạn chạy cài đặt, WordPress sẽ tự động tạo khóa bảo mật và khóa muối, nhưng bạn có thể thay đổi chúng bất cứ lúc nào, thêm bất kỳ chuỗi tùy ý nào. Để bảo mật tốt hơn, hãy xem xét sử dụng trình tạo trực tuyến .
$table_prefix biến lưu trữ tiền tố của tất cả các bảng WordPress. Thật không may, bất cứ ai cũng biết giá trị mặc định của nó và điều này có thể mở cơ sở dữ liệu WordPress đến một lỗ hổng, có thể dễ dàng sửa chữa bằng cách đặt giá trị tùy chỉnh $table_prefixkhi chạy thiết lập.
Để thay đổi tiền tố bảng trong một trang web đang hoạt động, bạn nên chạy một số truy vấn đối với cơ sở dữ liệu, sau đó chỉnh sửa thủ công tệp wp-config.php .
Nếu bạn không có quyền truy cập vào cơ sở dữ liệu hoặc bạn không có kiến thức cần thiết để xây dựng các truy vấn tùy chỉnh, thì bạn có thể cài đặt một plugin như Change Table Prefix sẽ đổi tên bảng cơ sở dữ liệu và tên trường và cập nhật tệp cấu hình không có rủi ro.
Lưu ý : đó là một cách tốt để sao lưu các tệp và cơ sở dữ liệu WordPress ngay cả khi bạn sẽ thay đổi tiền tố bảng bằng một plugin.
Cho đến nay các phân tích đã được giới hạn trong cấu hình cơ bản. Nhưng Tài có sẵn nhiều hằng số Tài có thể xác định để kích hoạt các tính năng, tùy chỉnh và bảo mật cài đặt.
Cấu hình cơ bản: Chỉnh sửa hệ thống tệp
Hệ thống tập tin WordPress nổi tiếng bởi người dùng và tin tặc. Vì lý do này, bạn có thể xem xét thay đổi cấu trúc tệp tích hợp bằng cách di chuyển các thư mục cụ thể vào các vị trí tùy ý và đặt các URL và đường dẫn tương ứng trong tệp wp-config.
Đầu tiên, chúng ta có thể di chuyển thư mục nội dung bằng cách xác định hai hằng số. Cái đầu tiên đặt đường dẫn thư mục đầy đủ:
define( ‘WP_CONTENT_DIR’, dirname(__FILE__) . ‘/site/wp-content’ );
Thứ hai đặt URL thư mục mới:
define( ‘WP_CONTENT_URL’, ‘http://example.com/site/wp-content’ );
Chúng ta chỉ có thể di chuyển thư mục plugin bằng cách xác định các hằng số sau:
define( ‘WP_PLUGIN_DIR’, dirname(__FILE__) . ‘/wp-content/mydir/plugins’ );
define( ‘WP_PLUGIN_URL’, ‘http://example.com/wp-content/mydir/plugins’ );
Tương tự, chúng ta có thể di chuyển thư mục tải lên, bằng cách đặt đường dẫn thư mục mới:
define( ‘UPLOADS’, ‘wp-content/mydir/uploads’ );
Lưu ý: Tất cả các đường dẫn đều liên quan đến ABSPATHvà chúng không nên chứa dấu gạch chéo hàng đầu.
Khi hoàn tất, sắp xếp các thư mục và tải lại WordPress.
Hình ảnh hiển thị cấu trúc tệp tích hợp so với cấu trúc tùy chỉnh
Không thể di chuyển thư mục / wp-content / Themes từ tệp wp-config, nhưng chúng ta có thể đăng ký thư mục chủ đề mới trong plugin hoặc tệp chức năng của chủ đề.
Các tính năng dành cho nhà phát triển: Chế độ gỡ lỗi và Truy vấn lưu
Nếu bạn là nhà phát triển, bạn có thể buộc WordPress hiển thị lỗi và cảnh báo sẽ giúp bạn trong việc gỡ lỗi chủ đề và plugin. Để bật chế độ gỡ lỗi, bạn chỉ cần đặt WP_DEBUGgiá trị thành true, như hiển thị bên dưới:
define( ‘WP_DEBUG’, true );
WP_DEBUGđược đặt thành false theo mặc định. Nếu bạn cần tắt chế độ gỡ lỗi, bạn có thể xóa định nghĩa hoặc đặt giá trị của hằng số thành false.
Khi bạn đang làm việc trên một trang web sống, bạn nên tắt chế độ gỡ lỗi. Lỗi và cảnh báo không bao giờ nên được hiển thị cho người xem trang web vì nó có thể cung cấp thông tin có giá trị cho tin tặc. Nhưng nếu bạn phải gỡ lỗi bằng cách nào?
Trong các tình huống như vậy, bạn có thể buộc WordPress giữ bộ nhớ lỗi và cảnh báo trong tệp debug.log , được đặt trong thư mục / wp-content . Để bật tính năng này, sao chép và dán mã sau vào tệp wp-config.php của bạn :
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
@ini_set( ‘display_errors’, 0 );
Để làm cho tính năng này hoạt động, trước tiên chúng ta cần kích hoạt chế độ gỡ lỗi. Sau đó, cài đặt WP_DEBUG_LOGthành true, Tài buộc WordPress lưu trữ thư vào tệp debug.log, trong khi xác định WP_DEBUG_DISPLAYthành false, Tài sẽ ẩn chúng khỏi màn hình. Cuối cùng, Tài đặt thành 0 giá trị của biến PHP display_errorsđể thông báo lỗi sẽ không được in ra màn hình. wp-config không bao giờ được tải từ bộ đệm. Vì lý do này, đây là một nơi tốt để ghi đè cài đặt php.ini .
Lưu ý: Đây là một tính năng tuyệt vời mà bạn có thể tận dụng để đăng ký các tin nhắn mà WordPress sẽ không in trên màn hình. Ví dụ: khi publish_post hành động được kích hoạt, WordPress sẽ tải một tập lệnh lưu dữ liệu, sau đó chuyển hướng người dùng đến trang chỉnh sửa bài đăng. Trong tình huống này, bạn có thể đăng ký tin nhắn, nhưng không in chúng trên màn hình.
Một hằng số gỡ lỗi khác xác định các phiên bản của tập lệnh và kiểu sẽ được tải. Đặt SCRIPT_DEBUG thành đúng nếu bạn muốn tải các phiên bản không nén:
define( ‘SCRIPT_DEBUG’, true );
Nếu chủ đề hoặc plugin của bạn hiển thị dữ liệu được truy xuất từ cơ sở dữ liệu, bạn có thể muốn lưu trữ chi tiết truy vấn để xem xét tiếp theo. Liên SAVEQUERIES tục buộc WordPress lưu trữ thông tin truy vấn thành $wpdb->queries mảng. Các chi tiết này sẽ được in thêm mã sau vào mẫu chân trang:
if ( current_user_can( ‘administrator’ ) ) {
global $wpdb;
echo ‘
’;print_r( $wpdb->queries );
echo ‘
’;
}
Cài đặt nội dung liên quan
Khi trang web của bạn phát triển, bạn có thể muốn giảm số lần sửa đổi bài đăng. Theo mặc định, WordPress tự động lưu các bản sửa đổi sau mỗi 60 giây. Tài có thể thay đổi giá trị này bằng cách đặt khoảng thời gian tùy chỉnh trong wp-config như sau:
define( ‘AUTOSAVE_INTERVAL’, 160 );
Tất nhiên, bạn cũng có thể giảm khoảng thời gian tự động lưu.
Mỗi lần Tài lưu các chỉnh sửa của mình, WordPress sẽ thêm một hàng vào bảng bài đăng để Tài có thể khôi phục các bản sửa đổi trước đó của bài đăng và trang. Đây là một chức năng hữu ích có thể biến thành vấn đề khi trang web của Tài phát triển lớn. May mắn thay, Tài có thể giảm số lần chỉnh sửa bài tối đa sẽ được lưu trữ hoặc vô hiệu hóa chức năng.
Nếu bạn muốn tắt sửa đổi bài đăng, hãy xác định hằng số sau:
define( ‘WP_POST_REVISIONS’, false );
Thay vào đó, nếu bạn muốn giới hạn số lần sửa đổi tối đa, hãy thêm dòng sau:
define( ‘WP_POST_REVISIONS’, 10 );
Theo mặc định, WordPress lưu trữ các bài đăng, trang, tệp đính kèm và nhận xét trong 30 ngày, sau đó xóa chúng vĩnh viễn. Chúng ta có thể thay đổi giá trị này với hằng số sau:
define( ‘EMPTY_TRASH_DAYS’, 10 );
Tài thậm chí có thể vô hiệu hóa rác, đặt giá trị của nó thành 0, nhưng xem xét rằng WordPress sẽ không cho phép bạn khôi phục nội dung nữa.
Kích thước bộ nhớ được phép
Đôi khi bạn có thể nhận được một tin nhắn như sau:
Lỗi nghiêm trọng: Kích thước bộ nhớ cho phép của xxx byte đã cạn kiệt
Kích thước bộ nhớ tối đa phụ thuộc vào cấu hình máy chủ. Trong trường hợp bạn không có quyền truy cập vào tệp php.ini, bạn có thể tăng giới hạn bộ nhớ chỉ cho WordPress bằng cách đặt WP_MEMORY_LIMIT , hằng số trong tệp wp-config. Theo mặc định, WordPress cố gắng phân bổ 40Mb cho PHP cho các trang web đơn và 64 MB cho các cài đặt nhiều trang . Tất nhiên, nếu bộ nhớ được phân bổ PHP lớn hơn 40Mb (hoặc 64Mb), WordPress sẽ chấp nhận giá trị tối đa.
Điều đó đang được nói, bạn có thể đặt một giá trị tùy chỉnh với dòng sau:
define( ‘WP_MEMORY_LIMIT’, ‘128M’ );
Nếu cần, bạn cũng có thể đặt giới hạn bộ nhớ tối đa bằng câu lệnh sau:
define( ‘WP_MAX_MEMORY_LIMIT’, ‘256M’ );
Cập nhật tự động
Bắt đầu từ phiên bản 3.7, WordPress hỗ trợ cập nhật tự động cho các bản phát hành bảo mật. Đây là một tính năng quan trọng cho phép quản trị viên trang web giữ an toàn cho trang web của họ mọi lúc .
Bạn có thể vô hiệu hóa tất cả các cập nhật tự động bằng cách xác định hằng số sau:
define( ‘AUTOMATIC_UPDATER_DISABLED’, true );
Có thể đó không phải là một ý tưởng tốt để vô hiệu hóa các cập nhật bảo mật, nhưng đó là lựa chọn của bạn.
Theo mặc định, cập nhật tự động không hoạt động với các bản phát hành chính, nhưng bạn có thể kích hoạt mọi bản cập nhật cốt lõi xác định WP_AUTO_UPDATE_COREnhư sau:
# Disables all core updates:
define( ‘WP_AUTO_UPDATE_CORE’, false );
# Enables all core updates, including minor and major:
define( ‘WP_AUTO_UPDATE_CORE’, true );
Giá trị mặc định là minor:
define( ‘WP_AUTO_UPDATE_CORE’, ‘minor’ );
Một hằng số bổ sung sẽ vô hiệu hóa cập nhật tự động (và mọi cập nhật hoặc thay đổi thành bất kỳ tệp nào). Nếu bạn đặt DISALLOW_FILE_MODSthành đúng, tất cả các chỉnh sửa tệp sẽ bị tắt, thậm chí cài đặt và cập nhật chủ đề và plugin. Vì lý do này, việc sử dụng nó không được khuyến khích.
Cài đặt hệ thống bảo vệ
Tài có thể sử dụng tệp wp-config để tăng bảo mật trang web. Ngoài các thay đổi về cấu trúc tệp mà Tài đã xem ở trên, Tài có thể khóa một số tính năng có thể mở các lỗ hổng không cần thiết. Trước hết, Tài có thể vô hiệu hóa trình chỉnh sửa tệp được cung cấp trong bảng quản trị. Hằng số sau sẽ ẩn màn hình Trình chỉnh sửa ngoại hình:
define( ‘DISALLOW_FILE_EDIT’, true );
Lưu ý: xem xét rằng một số plugin không thể hoạt động chính xác nếu hằng số này được xác định là đúng.
disallow_file_edit
Một tính năng bảo mật là Quản trị qua SSL. Nếu bạn đã mua chứng chỉ SSL và được định cấu hình đúng, bạn có thể buộc WordPress chuyển dữ liệu qua SSL tại bất kỳ phiên đăng nhập và quản trị viên nào. Sử dụng hằng số sau:
define( ‘FORCE_SSL_ADMIN’, true );
Kiểm tra Codex nếu bạn cần thêm thông tin về Quản trị qua SSL .
Hai hằng số khác cho phép chặn các yêu cầu bên ngoài và liệt kê các máy chủ được thừa nhận.
define( ‘WP_HTTP_BLOCK_EXTERNAL’, true );
define( ‘WP_ACCESSIBLE_HOSTS’, ‘example.com,*.anotherexample.com’ );
Trong ví dụ này, trước tiên Tài đã vô hiệu hóa tất cả các truy cập từ các máy chủ bên ngoài, sau đó liệt kê các máy chủ được phép, được phân tách bằng dấu phẩy (ký tự đại diện được cho phép).
Cài đặt nâng cao khác
WP_CACHEđược đặt thành true bao gồm tập lệnh wp-content / advanced-cache.php . Hằng số này chỉ có hiệu lực nếu bạn cài đặt một bộ đệm ẩn liên tục.
CUSTOM_USER_TABLEvà CUSTOM_USER_META_TABLEđược sử dụng để đặt các bảng người dùng tùy chỉnh khác với các bảng wp_users và wp_usermeta mặc định. Các hằng số này cho phép một tính năng hữu ích cho phép người dùng trang web truy cập vào một số trang web chỉ bằng một tài khoản. Để tính năng này hoạt động, tất cả các cài đặt sẽ chia sẻ cùng một cơ sở dữ liệu.
Bắt đầu từ phiên bản 2.9, WordPress hỗ trợ Tối ưu hóa cơ sở dữ liệu tự động. Nhờ tính năng này, cài đặt WP_ALLOW_REPAIRthành đúng, WordPress sẽ tự động sửa chữa cơ sở dữ liệu bị hỏng.
WordPress tạo ra một bộ hình ảnh mới mỗi khi bạn chỉnh sửa một hình ảnh. Nếu bạn khôi phục lại ảnh gốc, tất cả các bộ được tạo sẽ vẫn còn trên máy chủ. Bạn có thể ghi đè hành vi này bằng cách đặt IMAGE_EDIT_OVERWRITEthành đúng, do đó, khi bạn khôi phục ảnh gốc, tất cả các chỉnh sửa sẽ bị xóa khỏi máy chủ.
Khóa lại wp-config.php
Bây giờ chúng ta biết tại sao wp-config.php là một trong những tệp WordPress quan trọng nhất. Vậy tại sao chúng ta không giấu nó với tin tặc? Trước hết, chúng ta có thể di chuyển wp-config một cấp trên thư mục gốc WordPress ( chỉ một cấp ). Tuy nhiên, kỹ thuật này hơi gây tranh cãi, vì vậy tôi sẽ đề nghị áp dụng các giải pháp khác để bảo vệ tệp. Nếu trang web của bạn đang chạy trên Máy chủ Web Apache , bạn có thể thêm các lệnh sau vào tệp .htaccess :
order allow,deny
deny from all
Nếu trang web đang chạy trên Nginx , bạn có thể thêm chỉ thị sau vào tệp cấu hình:
location ~* wp-config.php { deny all; }
Lưu ý: những hướng dẫn này chỉ nên được thêm vào sau khi thiết lập xong.
Nếu trang web của bạn đã trải qua nhiều lần di chuyển hoặc bạn đã mua nó từ người khác, bạn nên tạo một bộ khóa bảo mật WordPress mới. Các khóa này là một tập hợp các biến ngẫu nhiên giúp cải thiện mã hóa thông tin được lưu trữ trong cookie của người dùng. Vì WordPress 2.7, đã có 4 khóa khác nhau: AUTH_KEY , SECURE_AUTH_KEY , LOGGED_IN_KEY và NONCE_KEY.
Theo mặc định, chúng được tạo ngẫu nhiên cho bạn. Nhưng WordPress thực sự có một công cụ miễn phí mà bạn có thể sử dụng để tạo các key ngẫu nhiên mới . Sau đó, bạn có thể chỉ cần cập nhật các khóa hiện tại được lưu trữ trong tệp wp-config.php của bạn.
Khóa bảo mật WordPress
Đọc thêm về Security Key WordPress .
Và cuối cùng, bạn nên kiểm tra lại và đảm bảo quyền của bạn được tăng cường trên tệp wp-config.php. Thông thường các tệp trong thư mục gốc của trang web WordPress sẽ được đặt thành 644, điều đó có nghĩa là các tệp có thể đọc và ghi được bởi chủ sở hữu tệp và người dùng trong nhóm của tệp đó có thể đọc được và mọi người khác có thể đọc được. Theo tài liệu WordPress , các quyền trên tệp wp-config.php phải được đặt thành 440 hoặc 400 để ngăn người dùng khác trên máy chủ đọc nó. Bạn có thể dễ dàng thay đổi điều này với ứng dụng FTP Client của bạn .
quyền wp-config.php
Tóm lược
Trong bài đăng này, Tài đã liệt kê rất nhiều hằng số WordPress mà chúng ta có thể định nghĩa vào tệp wp-config. Một số hằng số này được sử dụng phổ biến và chức năng của chúng rất dễ hiểu. Các hằng số khác cho phép các tính năng nâng cao đòi hỏi kiến thức sâu về WordPress và quản trị trang web.
Tài đã liệt kê các tính năng phổ biến nhất, để lại một số tính năng nâng cao mà Tài có thể thảo luận trong các bài đăng trong tương lai. Nếu bạn muốn khám phá các tính năng và hằng số không được liệt kê ở đây, vui lòng bắt đầu một cuộc trò chuyện trong các bình luận bên dưới và Tài sẽ đi sâu.
titanic.vn .