2016-08-02 3 views
1

이 보안 유형에 대한 보안 및 궁금 사항에 대한 새로운 정보가 있습니까? 나는 어떤 방법 으로든 은행/금융 데이터를 보호하는 것이 아니라 일반 대중에게 노출되어서는 안되는 다소 민감한 데이터를 확보하려고합니다. 비밀번호 만 필요합니다. 공식적인 로그인은 필요 없습니다.PHP 세션이있는 sha256

이것은 암호 입력 필드가있는 access.php 파일에 있습니다.

<?php 
session_start(); 
if (!isset($_SESSION['loggedIn'])) { 
    $_SESSION['loggedIn'] = false; 
} 

// sha256() password 
$password = '13d249f2cb4127b40cfa757866850278793f814ded3c587fe5889e889a7a9f6c'; 

if (isset($_POST['password'])) { 
    if (hash('sha256',$_POST['password']) == $password) { 
     $_SESSION['loggedIn'] = true; 
    } else { 
     die ('That is the incorrect password - Please leave now'); 
    } 
} 

if (!$_SESSION['loggedIn']): 
?> 

내 index.php에 페이지로드시 access.php가 필요합니다. 공용 디렉토리 외부에서 액세스해야합니까? 내가 고려해야 할 다른 것이 빠졌습니까?

+3

[password_hash()] (http://php.net/manual/en/function.password-hash.php) - PHP의 암호 해시 및 확인을위한 최선의 방법 –

답변

4

이 보안 유형에 대한 보안 및 궁금 사항에 대한 새로운 정보가 있습니까? 당신은 작업에 대한 완전히 잘못된 도구를 사용하고 있습니다 :

  1. SHA-256. password_hash()password_verify()를 사용
  2. Cryptography terms explained for non-experts

따라서, 귀하의 질문에 대답하기 : 아니 아주. 코드에서 해결하려고하는 문제는 보안 전문가들 사이에서 잘 알려져 있으며 다른 사람들이 쉽게 해결할 수 있도록 방해가되었습니다. 그래서 password_hash()password_verify()이 존재합니다. 그것을 써.

그렇다면 소프트웨어 보안에 오신 것을 환영합니다. 자가 학습을 돕기 위해 추가 리소스가 필요한 경우 application security reading list on Github을 확인하십시오.