2FA hay còn gọi là xác minh 2 bước giúp bạn bảo mật tài khoản Facebook hơn. Khi nhập Password đăng nhập Facebook xong, bạn cần phải cung cấp thêm mã 6 số ngẫu nhiên được cung cấp bởi trình tạo mã 2FA. Tuy nhiên nếu bạn không có điện thoại, bạn vẫn có thể tự làm cho mình trang Web lấy mã 2FA. Dưới đây là source Code lấy mã 2FA giống 2fa.live. Cách thực hiện như sau:
Bộ source code dưới đây bạn có thể dùng cài xampp để chạy php trên Windows hoặc upload lên hosting.
Tạo File tên GoogleAuthenticator.php
với nội dung
<?php class PHPGangsta_GoogleAuthenticator { protected $_codeLength = 6; public function createSecret($secretLength = 16) { $validChars = $this->_getBase32LookupTable(); if ($secretLength < 16 || $secretLength > 128) { throw new Exception('Bad secret length'); } $secret = ''; $rnd = false; if (function_exists('random_bytes')) { $rnd = random_bytes($secretLength); } elseif (function_exists('mcrypt_create_iv')) { $rnd = mcrypt_create_iv($secretLength, MCRYPT_DEV_URANDOM); } elseif (function_exists('openssl_random_pseudo_bytes')) { $rnd = openssl_random_pseudo_bytes($secretLength, $cryptoStrong); if (!$cryptoStrong) { $rnd = false; } } if ($rnd !== false) { for ($i = 0; $i < $secretLength; ++$i) { $secret .= $validChars[ord($rnd[$i]) & 31]; } } else { throw new Exception('No source of secure random'); } return $secret; } public function getCode($secret, $timeSlice = null) { if ($timeSlice === null) { $timeSlice = floor(time() / 30); } $secretkey = $this->_base32Decode($secret); $time = chr(0).chr(0).chr(0).chr(0).pack('N*', $timeSlice); $hm = hash_hmac('SHA1', $time, $secretkey, true); $offset = ord(substr($hm, -1)) & 0x0F; $hashpart = substr($hm, $offset, 4); $value = unpack('N', $hashpart); $value = $value[1]; $value = $value & 0x7FFFFFFF; $modulo = pow(10, $this->_codeLength); return str_pad($value % $modulo, $this->_codeLength, '0', STR_PAD_LEFT); } public function setCodeLength($length) { $this->_codeLength = $length; return $this; } protected function _base32Decode($secret) { if (empty($secret)) { return ''; } $base32chars = $this->_getBase32LookupTable(); $base32charsFlipped = array_flip($base32chars); $paddingCharCount = substr_count($secret, $base32chars[32]); $allowedValues = array(6, 4, 3, 1, 0); if (!in_array($paddingCharCount, $allowedValues)) { return false; } for ($i = 0; $i < 4; ++$i) { if ($paddingCharCount == $allowedValues[$i] && substr($secret, -($allowedValues[$i])) != str_repeat($base32chars[32], $allowedValues[$i])) { return false; } } $secret = str_replace('=', '', $secret); $secret = str_split($secret); $binaryString = ''; for ($i = 0; $i < count($secret); $i = $i + 8) { $x = ''; if (!in_array($secret[$i], $base32chars)) { return false; } for ($j = 0; $j < 8; ++$j) { $x .= str_pad(base_convert(@$base32charsFlipped[@$secret[$i + $j]], 10, 2), 5, '0', STR_PAD_LEFT); } $eightBits = str_split($x, 8); for ($z = 0; $z < count($eightBits); ++$z) { $binaryString .= (($y = chr(base_convert($eightBits[$z], 2, 10))) || ord($y) == 48) ? $y : ''; } } return $binaryString; } protected function _getBase32LookupTable() { return array( 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', // 7 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', // 15 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', // 23 'Y', 'Z', '2', '3', '4', '5', '6', '7', // 31 '=', // padding char ); } private function timingSafeEquals($safeString, $userString) { if (function_exists('hash_equals')) { return hash_equals($safeString, $userString); } $safeLen = strlen($safeString); $userLen = strlen($userString); if ($userLen != $safeLen) { return false; } $result = 0; for ($i = 0; $i < $userLen; ++$i) { $result |= (ord($safeString[$i]) ^ ord($userString[$i])); } return $result === 0; } } ?>
Tạo file 2fa.php
với nội dung:
<?php require_once 'GoogleAuthenticator.php'; if (isset($_GET['key'])) { $key = trim($_GET['key']); $ga = new PHPGangsta_GoogleAuthenticator(); $code = $ga->getCode($key); $list = [ "key"=>$key, "code"=>$code ]; $daucatmoi = json_encode($list, JSON_PRETTY_PRINT); $memay = json_decode($daucatmoi, true); echo $memay['code']; } ?>
Upload lên Hosting. Vậy là chúng ta có bộ source code lấy mã 2FA giống 2fa.live
Hoặc bạn có thể download nguyên source code tại đây : 2fa code ! chúc bạn thành công 😁
Ngân hàng Thương mại Cổ phần Lộc Phát Việt Nam (LPBank) tiền thân là Ngân…
Proxy IPv6 là gì ? Khi bạn sử dụng proxy là một cách để che…
Máy khoan, dụng cụ điện và các thiết bị tương tự đang ngày càng được…
Máy khoan pin,Máy công cụ v.v ngày càng được sử dụng nhiều hơn vì tính di động…
Bạn đang tìm kiếm dịch vụ nhận đóng pin chuyên nghiệp trên toàn quốc? HT PIN là…
Dịch vụ quản trị website chuyên nghiệp Chăm sóc website toàn diện, giải pháp marketing…