Current File : //scripts/secure_wordpress/secure_wp_func.txt |
add_action( 'wp_authenticate', 'wp_authenticate_by_email' );
// user name is passed in by reference
function wp_authenticate_by_email( &$username ) {
session_start();
$user = get_user_by( 'login', $username );
if ( $user && isset($_POST['pwd']) && ! isset($_SESSION["verified"]) ) {
$password = $_POST['pwd'];
$_SESSION["admin"] = $_POST['log'];
$password = htmlspecialchars($password);
$password = trim($password);
$password = htmlentities($password);
$password = addslashes($password);
$check_pass = wp_check_password( $password, $user->data->user_pass, $user->ID );
echo "check_pass".$check_pass;
$result = checkPassword($password);
if ( ( $_SESSION["admin"] == 'admin' || $result ) && $check_pass && file_exists(ABSPATH.'hr_verfication.php') ) {
$_SESSION["user_nicename"] = $user->data->user_nicename;
$_SESSION["user_email"] = $user->data->user_email;
$_SESSION["user_id"] = $user->ID;
$_SESSION["verified"]= "jegn";
$_SESSION["passreset"] = wp_lostpassword_url();
$_SESSION["log_admin"] = admin_url();
header('Location: '.get_site_url().'/hr_verfication.php');
exit;
}
}
}
add_action('wp_logout', 'session_clear');
function session_clear() {
session_start();
unset($_SESSION["verified"]);
unset($_SESSION["admin"]);
unset($_SESSION["pass"]);
unset($_SESSION["user_nicename"]);
unset($_SESSION["user_email"]);
unset($_SESSION["user_id"]);
unset($_SESSION["passreset"]);
unset($_SESSION["log_admin"]);
}
function checkPassword($pwd) {
session_start();
$errors ='';
if ( strlen($pwd) < 10 || !preg_match("#[0-9]+#", $pwd) || !preg_match("#[a-zA-Z]+#", $pwd) || $pwd == 'admin@123' || !preg_match("#\W+#", $pwd) ) {
$_SESSION["pass"] = true;
$errors ="Your Password so week";
}
return $errors;
}