Hướng dẫn viết module drupal thay đổi đường dẫn đăng nhập
Hướng dẫn viết module drupal thay đổi đường dẫn đăng nhập
Bạn đang cần tìm hiểu cách viết các module chức năng trong drupal hoặc giao diện themes theo ý tưởng của mình. Việt Tâm Đức sẽ hướng dẫn bạn. Bài này sẽ hướng dẫn cách tạo một modules thay đổi link login trong drupal. Tránh trường hợp hacker tấn công theo url user/login mà core drupal mặc định
Hướng dẫn viết module drupal thay đổi đường dẫn đăng nhập user login. Hướng dẫn cách viết modules drupal 7 cách viết module và themes giao diện trong lập trình drupal
Ta cần tạo ra 1 thư mục modules USER_LOGIN trong thư mục này chứa 2 file name.info và name.module
file .info khai báo các thông tin
name = Thay đổi đường dẫn đăng nhập
description = Thay đổi đường dẫn đăng nhập trang login
core = 7.x
version 7.x - 0.1 viettamduc
package = user_login
File .module khai báo như sau:
<?php
hook_user_login
function user_login_user_login(&$edit, $account) {
$edit['redirect'] = 'admin/';
}
create new menu login and menu register
function user_login_menu() {
$items = array();
$items['advt'] = array(
'title' => 'Đăng nhập quản trị',
'page callback' => 'user_login_user_page',
'page arguments' => array('login', 'user_login'),
'access callback' => TRUE,
);
$items['dkvt'] = array(
'title' => 'Đăng ký tài khoản',
'page callback' => 'user_login_user_page',
'page arguments' => array('register'),
'access callback' => TRUE,
);
return $items;
}
alter menu
function user_login_menu_alter(&$items) {
$items['user']['page callback'] = 'user_login_user_page';
$items['user/register']['page callback'] = 'user_login_user_page';
}
user_login_user_page
function user_login_user_page($show = '') {
global $user;
if($user->uid){
menu_set_active_item('user/'. $user->uid);
return menu_execute_active_handler();
}elseif($show == 'login'){
return drupal_get_form('user_login');
}elseif($show == 'register'){
return drupal_get_form('user_register_form');
}
drupal_access_denied();
}