두 가지 기능이 있습니다. get_post_data()
은 양식에서 POST 데이터를 가져옵니다. 그런 다음 사용자 이름과 암호를 process_login($username, $password)
으로 보냅니다. 비밀 번호를 일반 텍스트로 보내고 싶습니다.PHP의 함수 인수로 취약한 정보를 보내는 것이 안전합니까?
안전하게 할 수 있습니까? 아니면 함수 인수로 보내기 전에 암호를 해시/암호화해야합니까?
두 가지 기능이 있습니다. get_post_data()
은 양식에서 POST 데이터를 가져옵니다. 그런 다음 사용자 이름과 암호를 process_login($username, $password)
으로 보냅니다. 비밀 번호를 일반 텍스트로 보내고 싶습니다.PHP의 함수 인수로 취약한 정보를 보내는 것이 안전합니까?
안전하게 할 수 있습니까? 아니면 함수 인수로 보내기 전에 암호를 해시/암호화해야합니까?
해싱은 암호를 영구적 인 위치에 저장할 때 또는 저장된 해시를 확인해야 할 때 분명히해야합니다.
그렇지 않으면 한 서버에서 다른 서버 또는 외부 리소스로 전송할 경우이를 해시하는 것이 더 좋을 것이라고 생각하거나 최소한 암호화 된 연결을 사용하는 것이 좋습니다. 가급적이면 둘 다.
예 클라이언트 측 해시 구현의 불일치를 방지하기 위해 해시를 서버 측에서 수행해야합니다.
일단 PHP 코드에서 변수를 전달하면 자신의 함수를 전달하는 것이 안전합니다. 사용자는이 함수에 액세스 할 수 없습니다.
일반 텍스트를 통해 클라이언트에서 서버로 암호를 전송할 염려가있는 경우 https를 사용해야합니다.
이 악성 코드는 오직 DATA로 주변에 전송하고, 실제로 실행하지 않을 것 때문에
$password = 'some piece of malicious code';
process_login($password);
을 가지고 아무 문제가 없습니다. 당신은 어리석은 일을하고 있다면
이제 (좋아,이 명백히 어리석은 것) :
eval($password);
다음 네, 완전히 전복 시스템을 얻는 데 취약 할 것입니다.
암호를 함수 인수로 보내는 것이 안전합니까? – FalconC
예, 작업 할 때 주변을 지나치므로 평소와 같이 보안 정보를 해시하려는 다른 위치에 저장하거나 보낼 때입니다. – Moylin