add_filter( 'woocommerce_get_catalog_ordering_args', 'enable_catalog_ordering_by_modified_date' );
function enable_catalog_ordering_by_modified_date( $args ) {
if ( isset( $_GET['orderby'] ) ) {
if ( 'modified_date' == $_GET['orderby'] ) {
return array(
'orderby' => 'modified',
'order' => 'DESC',
);
}
// Make a clone of "menu_order" (the default option)
elseif ( 'natural_order' == $_GET['orderby'] ) {
return array( 'orderby' => 'menu_order title', 'order' => 'ASC' );
}
}
return $args;
}
add_filter( 'woocommerce_catalog_orderby', 'add_catalog_orderby_modified_date' );
function add_catalog_orderby_modified_date( $orderby_options ) {
// Insert "Sort by modified date" and the clone of "menu_order" adding after others sorting options
return array(
'modified_date' => __("Sort by modified date", "woocommerce"),
'natural_order' => __("Sort by natural shop order", "woocommerce"), // <== To be renamed at your convenience
) + $orderby_options ;
return $orderby_options ;
}
add_filter( 'woocommerce_default_catalog_orderby', 'default_catalog_orderby_modified_date' );
function default_catalog_orderby_modified_date( $default_orderby ) {
return 'modified';
}
add_action( 'woocommerce_product_query', 'product_query_by_modified_date' );
function product_query_by_modified_date( $q ) {
if ( ! isset( $_GET['orderby'] ) && ! is_admin() ) {
$q->set( 'orderby', 'modified' );
$q->set( 'order', 'DESC' );
}
}
Blog Nam
Thứ Năm, 10 tháng 1, 2019
Thêm kiểu và thay đổi mặc định Sort Category Woocommerce Wordpress
Thứ Tư, 5 tháng 12, 2018
Script active win 10 đơn giản
Download file này và chạy file cmd trong đó vậy là win 10 đã được active
https://drive.google.com/file/d/1DrC-tR8p7X9wM2wtXu14nPNM4kv37PQG/view?usp=sharing
https://drive.google.com/file/d/1DrC-tR8p7X9wM2wtXu14nPNM4kv37PQG/view?usp=sharing
Thứ Sáu, 14 tháng 9, 2018
Thêm trường dữ liệu sử dụng hook
add_action('woocommerce_shop_loop_item_title','thong_tin_them_sp');
function thong_tin_them_sp(){
$phongtam=get_field('thong_tin') //tên trường customfield đã add;
}
function thong_tin_them_sp(){
$phongtam=get_field('thong_tin') //tên trường customfield đã add;
}
Thứ Tư, 27 tháng 6, 2018
Tổng hợp các website hữu ích
1. TỰ CHỈNH SỬA ẢNH
Thứ Ba, 19 tháng 6, 2018
Bảo mật lại wordpress
WordPress được biết là một mã nguồn mở tốt nhất và dễ sử dụng nhất hiện nay. Đang được cộng đồng sử dụng làm blog cá nhân cho đến cửa hàng nhỏ và vừa sử dụng rộng rải.
Bên cạnh sự tiện lợi, dễ cài đặt, dễ sử dụng và hệ sinh thái theme, plugin phong phú thì mã nguồn wordpress này lại tồn tại khá nhiều lỗ hổng bảo mật. Do đó, bảo mật wordpress là việc cần làm quan trọng nhất trong việc muốn phát triển website lâu dài.
Bảo mật wordpress bằng cách đổi file kết nối API XMLRPC.PHP
Thang điểm an toàn: 67%
Khắc phục được các tình huống sau: Dò mật khẩu admin, submit sitemaps tiếng nhật, tiếng trung quốc, edit code, chèn table wp-datalist,….
Theo thông tin từ một số nguồn tài liệu chính thức từ wordpress, thì hiện nay việc hacker tấn công qua cổng xmlrpc.php đang ngày càng gia tăng và chưa có chiều hướng giảm dần.

Cách thức tấn công qua giao thức này là:
- Hacker kết nối phần mềm quét mật khẩu qua đường link https://domaincuaban/xmlrpc.php – username:password
- Username thông thường là hacker dò thông qua bài viết hoặc thông thường là (admin,domaincuaban,user cộng tác viên,…)
- Sau khi có được tài khoản của bạn, hacker sẽ vào wp-admin và cài đặt các mã nguồn shell, realtime directory (code điều khiển hosting, hiện nay hosting linux chưa tự nhận dạng được).
Đó là lý do tại sao bạn liên tục đổi mật khẩu, theme và plugin bản quyền nhưng website vẫn luôn bị tấn công.
Khắc phục lỗi nghiêm trọng này:
- Bạn vào hosting mà bạn quản lý, sẽ thấy file xmlrpc.php nằm ngang hàng với index.php
- Bạn có thể xóa file xmlrpc.php nếu bạn không dùng website kết nối với Apps mobile, apps mở rộng ứng dụng, hoặc sử dụng các tính năng của các hệ thống chăm sóc website tự động.
- Trường hợp bạn bắt buộc cần phải sử dụng xmlrpc.php bạn nên đổi tên lại file này theo cách nhớ tên của bạn để tránh người khác dò ra được.
Chú ý: Hiện nay có 1 số plugin hỗ trợ các tính năng chặn POST lên xmlrpc.php. Tuy nhiên mình test và debug vẫn được bình thường.
Bảo mật WordPress bằng cách chặn request liên tục vào website
Thang điểm an toàn: 15%
Khắc phục được các tình huống sau: Hacker liên tục gửi request vào website của bạn. Website của bạn không chịu tải và xãy ra lỗi. Hoặc khi có 1 file nào đó bị hacker thây đổi nội dung, mã hóa file. Hệ thống sẽ tự gửi email cho bạn.
Khắc phục tình huống này:
- Bạn nên cài plugin Wordfence (Theo dõi file thây đổi, theo dõi ai đang truy cập, ghi lại các con đường tấn công mà hacker đã thao tác).
- Bạn nên cài plugin iThemes Security (Thây đổi đường dẫn wp-admin, chặn ai đó login sai nhiều lần, thông báo kích thước file bị thay đổi)
Bảo mật WordPress bằng cách chặn chỉnh sửa file php wordpress
Thang điểm an toàn: 6%
Khắc phục được các tình huống sau: Bạn bị lộ tài khoản admin, hoặc cho ai đó mượn để sửa website.
Chắc bạn đã từng bị chèn những quảng cáo, hoặc bị chèn mã độc vào website khiến cho người dùng vào website của bạn cảm thấy khó chịu.
Khắc phục tình huống này:
- Bạn vào hosting tìm đến file wp-config.php
- Bạn copy và dán vào cuối cùng của file wp-config.php đoạn sau.
Đoạn code:
define('DISALLOW_FILE_EDIT',true);
Vậy là đã an toàn rồi.
Bảo mật WordPress bằng cách chặn thêm plugin, theme mới wordpress
Thang điểm an toàn: 5%
Khắc phục được các tình huống sau: Bạn bị lộ tài khoản admin, hoặc cho ai đó mượn để sửa website, backup website.
Để hạn chế tối đa các tình huống khó xử, các tình huống website bị ai đó login và backup hoặc nhiều kỹ thuật khác. Bạn nên chặn luôn tính năng upload plugin, upload theme.
Khắc phục tình huống này:
- Bạn vào hosting tìm đến file wp-config.php
- Bạn copy và dán vào cuối cùng của file wp-config.php đoạn sau.
Đoạn code:
define('DISALLOW_FILE_MODS',true);
Vậy là đã an toàn thêm rồi đó. Hihi
Bảo mật WordPress bằng cách thay đổi khóa bảo mật WordPress
Thang điểm an toàn: 3%
Khắc phục được các tình huống sau: Dò kết nối mặt định thông qua các cổng api của wordpress.
Khóa bảo mật là những khai báo rất quan trọng trong file wp-config.php. Nếu bạn đang nghĩ ai đó đang có ý định tấn công website của bạn. Hãy nhanh chống đổi tất cả những khóa này qua đường link của nhà phát triển tại API của WordPress. Sau khi truy cập vào, bạn copy và thây thế các dòng tương ứng trong wp-config.php.
Bảo mật WordPress bằng cách ẩn thông báo đăng nhập khi nhập sai
Thang điểm an toàn: 2%
Khắc phục được các tình huống sau: Đăng nhập vào link wp-login.php liên tục để tìm mật khẩu.
Mặc định của wordpress khi login sai sẽ hiển thị thông báo là (Tài khoản không tồn tại, mật khẩu không chính xác). Bạn cần ẩn luôn thông báo này để hacker gặp thêm khó khăn trong viêc biết được trạng thái đăng nhập.
Khắc phục tình huống này:
- Bạn chỉ cần sao chép đoạn code dưới đây và dán vào file functions.php trong theme bạn đang dùng.
Đoạn code
add_filter('login_errors', create_function('$a', "return null;"));
Bảo mật WordPress bằng cách Thay đổi tiền tố – Table Prefix
Thang điểm an toàn: 1%
Khắc phục được các tình huống sau: Local Attack (Kỹ thuật dò file quản trị, sql cùng 1 hệ thống. Thường gặp ở hosting share).
Table Prefix là tiền tố của các bảng trong Database của wordpress. Mặc định ban đầu sau khi cài đặt wordpress thành công là wp_tên table
Khắc phục tình huống này: Bạn cài plugin WP Prefix Changer. Sau đó bạn có thể đổi lại thành Prefix bạn muốn.
Lưu ý: Bạn bắt buộc phải backup lại Database. Tránh trường hợp bị lỗi sql làm website bạn không thể hoạt động.
Bảo mật WordPress khỏi SQL Injection bằng Functions
Thang điểm an toàn: 1%
Khắc phục được các tình huống sau: Website có dùng chức năng portfolio, chức năng filter parameter.( Định dạng như: p=123&portfolio=123&tag=wordpress).
SQL Injection là một phương pháp khá nỗi tiếng trong những năm 2008-2012 và website bị lỗi thường chạy trên hosting có version php cũ như 5.2 – 5.3.
Hacker tấn công bằng cách thêm các query trực tiếp lên SERVER PHP cho website của bạn, và tất nhiên rất nhiều khả năng website của bạn sẽ gặp lỗi này.
Khắc phục lỗi này:
- Update version php lên: 5.6.1. Tốt nhất là 7.x như hiện nay.
- Dùng chức năng code chặn Request server trong functions.php của theme đang dùng.
- Dùng chức năng chặn SQL Injection đã tích hợp sẳn có trong control VPSSIM.
Code chặn request server SQL Injection
global $user_ID; if($user_ID) {
if(!current_user_can('administrator')) {
if (strlen($_SERVER['REQUEST_URI']) > 255 ||
stripos($_SERVER['REQUEST_URI'], "eval(") ||
stripos($_SERVER['REQUEST_URI'], "CONCAT") ||
stripos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||
stripos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
}
}
Kết luận: Chỉ bằng những thủ thuật cơ bản, hy vọng chúng tôi đã giúp bạn giảm nguy cơ bị tấn công wordpress tốt nhất. Chúng tôi sẽ luôn cập nhật những phương pháp mới giúp bạn bảo vệ website tốt hơn.
Đăng ký:
Nhận xét (Atom)