2014-04-24 2 views
4

며칠 전에 yii2 응용 프로그램을 검사하고 로그인 양식의 사용자 이름과 암호가 암호화되지 않고 게시되었다고 기록했습니다. 내 사용자 이름과 암호를 더 안전하게 만들려면 어떻게해야합니까? \yii\helpers\Security::encrypt($data, $secretKey)이 데이터를 암호화하고 similiary가 암호를 해독 할 수 있음을 알고 있습니다. 하지만 로그인 양식과 같은보기에서 사용하는 방법은 무엇입니까?Yii2 사용자 이름 및 암호 암호화

<?php $form = ActiveForm::begin(['id' => 'login-form']); ?> 
    <?= $form->field($model, 'username') ?> 
    <?= $form->field($model, 'password')->passwordInput() ?> 
    <div class="form-group"> 
    <?= Html::submitButton('Login', ['class' => 'btn btn-info']) ?> 
    </div> 
    <?php ActiveForm::end(); ?> 

어떻게 여기에 데이터를 사용자의 암호를 입력 한 처리하기 위해 내 로그인 폼입니까?

+3

이것이 https 프로토콜로 수행되어야한다고 생각합니다. – Alex

+0

@ Alex..so 응용 프로그램 측면에서 할 일이 없습니까? –

+0

누군가가 더 알고있을 수 있습니다 PHP로 질문 태그를 변경, 더 많은 사람들을위한 보안이 질문을 볼 것입니다 – Alex

답변

2

의 의견에 Sisko78 주장, 클라이언트 측에서 암호를 해싱하는 것은 그들이 ', 보안 측면에서 많은 도움을하지 않을 것이다, 그러나 누군가가 자신의 브라우저에서 모든 자바 스크립트로 밝혀지면 (피해를 많이 할 수 있듯이 서버가 해시 된 데이터를 올바르게 처리 할 수 ​​없기 때문에 일반적으로 망쳐 버립니다.

나는이 문제에 관해 asked very similar question을 받았으며, this great answer이 주어졌다. 일반적으로 : 당신이 일반 텍스트 암호 또는 MD5 해시를 보내거나 큰 차이 (...)를하지 않습니다 여부를 공격자의 관점에서

,

이 답변 MD5에 대한 참조를 포함 해쉬, 왜냐하면 내가 특별히 요구 한 것이기 때문이다. 그러나 MD5는 현재 매우 불안한 ​​것으로 취급되고 있다는 사실과 아무런 관련이 없습니다. 귀하의 (내) 질문의 관점에서, 클라이언트 쪽 암호 hasing의 모든 종류를 사용하여 모든 암호를 해킹하지만큼 안전하지 않습니다. 그리고 유일한 보안 옵션은 HTTPS 프로토콜을 사용하는 것입니다. 아멘.