Я пытаюсь назвать API Harvest. Но, чтобы сделать это, имя пользователя и пароль должны быть помещены в файл PHP. Теперь у меня проблемы с безопасностью, я не хочу напрямую вводить свои учетные данные в файл. Я прочитал о механизмах хэширования, таких как SHA1, md5. Будет ли это применимо к моей ситуации? Поскольку большинство примеров, которые я просматриваю сейчас, основаны на проверке учетных данных. Здесь мне нужен способ скрыть мои учетные данные, чтобы он не публиковался. Просьба предложить способ сделать это.
$user= //Actual username; $password= //Actual Password $harvest_user = $user; // Harvest username, usually an email address $harvest_pass = $password; // Harvest password $harvest_account = $account; require_once 'HarvestAPI.php'; spl_autoload_register(array('HarvestAPI', 'autoload') ); $harvestAPI = new HarvestAPI(); $harvestAPI->setUser($harvest_user); $harvestAPI->setPassword($harvest_pass); $harvestAPI->setAccount($harvest_account); $result = $harvestAPI->getUsers(); // If Harvest returns successful if ($result->code == 200) { $people = $result->data; } else{ echo "Not Successful"; } ?>
if (!defined('access')): die('no access for you'); class HarvestAPI { private $username; private $...; public function __construct($u,$...) { $this->username = $u; } public function start() { require_once 'HarvestAPI.php'; spl_autoload_register(array('HarvestAPI', 'autoload') ); $harvestAPI = new HarvestAPI(); $harvestAPI->setUser($this->username); $harvestAPI->setPassword($....); $harvestAPI->setAccount($....); return $harvestAPI->getUsers(); } }
Использование (в другом файле):
define('access',0); require_once 'thatfileabove.php'; $result = (new HarvestAPI('username','ect..'))->start(); ($result->code == 200)? $people = $result->data : "Not Successful";
Если кто-то не взглянет на ваш код, его невозможно теперь увидеть ваши учетные данные.
Вы можете использовать метод md5()
.
Просто зашифруйте пароль после регистрации и сохранения ist в базе данных или где еще вы храните информацию для входа.
При входе в систему просто зашифруйте введенный пароль, проверьте, совпадает ли он с тем же, что и в вашей базе данных.
Никто не может получить пароль из базы данных, потому что метод md5()
не обратим.
Зашифруйте вот так: $pw2store = md5($password);
Или замените пароль на зашифрованный: $password = md5($password);
Надеялся, я мог бы помочь.