비밀번호를 잘못 입력하면 로그인이있는 많은 웹 사이트에서 사용자 이름 필드에 사용자 이름이 어떻게 유지됩니까? 폼의 동작 (index.php에 있음)은 또 다른 PHP 파일입니다. 패스워드가 올바르지 않으면 Header()를 사용하여 인덱스로 돌아가 GET을 사용하여 오류를 전달합니다. GET을 사용하여 사용자 이름을 양식에 다시 전달할 수는 있지만 어수선하게 보입니다. SMF 포럼과 같은 웹 사이트에서는 사용자 이름 필드에 지저분한 URL이 없어도 사용자 이름을 유지할 수 있습니다.잘못된 비밀번호 인 경우 사용자 이름 입력란에 비밀번호를 입력하십시오.
답변
세션을 사용할 수 있습니다. 게시물이 잘못된 경우
예를 들어, (이 게시물 요청을 처리하는 파일에 갈 것) : 다음
$_SESSION['username'] = $_POST['username'];
를 로그인 페이지 :
<input type="text" name="username" value="<?php echo @$_SESSION['username']; ?>" />
만들기 그래도 세션을 시작할 수 있습니다. http://php.net/session_start
일반적으로 이러한 종류의 목적으로 세션을 사용하는 것은 권장하지 않습니다. 사용자가 여러 탭을 열었을 때 중단되는 사이트로 끝납니다. –
세션은 탭/창에 걸쳐 실행됩니다. 양식이 자체에 게시되면 양식을 다루는 것이 더 쉽다는 것에 동의하지만 이것이 항상 그런 것은 아닙니다. 세션이 아니라면 유효성 검사 실패시 다른 페이지에서 사용자 데이터를 어떻게 전송합니까? (데이터가 표시된 후에 요청간에 세션 데이터를 비우는 데주의해야 함) –
현재 컨텍스트에서 어떤 문제도 생각할 수 없습니다. 저는 양식을 대체하는 일반적인 방법으로 세션을 사용하는 정책에 대해 경고합니다 (예약 사이트와 같은 일부 분야에서는 매우 인기있는 기술 임). –
일반적으로 양식이 표시된 동일한 스크립트에서 양식 데이터를 처리하고 올바른 입력을 수집 한 경우에만 다른 곳으로 리디렉션하는 것이 더 쉽습니다.
header("Location: loginpage.php?username=".$_REQUEST['username']);
및 양식 페이지에서 유는 좋아에 액세스 할 수 있습니다
<input type="text" name="username" value=<?php echo $_GET['username']?>
XSS 및 SQL 인젝션 공격에 노출되어있어 매우 좋지 않습니다. –
질문에서 인용 : "사용자 이름을 양식에 다시 전달하기 위해 GET을 사용할 수는 있지만 이상하게 보입니다." –
SQl 주사를 어떻게 열어 주시겠습니까? 아무것도 데이터베이스에 제출하지 않으십니까? –
단일체를!
<form action="loginpage.php" method="post">
<fieldset>
...
<input type="text" name="username" value="<?php if (isset($_POST['username'])) echo $_POST['username']; ?>" />
...
</fieldset>
</form>
나머지는 해결책을 강조하기 위해 생략 된 형식의 나머지 부분입니다.
하지만 login.php에서 POST 변수에 사용자 이름을 어떻게 얻을 수 있습니까? –
@Jonathan 그것이 login.php에 양식을 삽입하는 이유입니다. –
- 1. 입력란에 'enter'키를 입력하십시오.
- 2. UIWebView, 비밀번호를 입력하십시오.
- 3. Chrome에 브라우저에 저장된 사용자 이름 및 비밀번호
- 4. PHP로 .htaccess 폴더 사용자 이름/비밀번호 적용하기
- 5. phpmyadmin 사용자 이름과 비밀번호
- 6. jquery가 포함 된 양식 입력란에 데이터를 입력하십시오.
- 7. 비밀번호 텍스트 입력란에 별 대신 "비밀번호"를 표시하려면 어떻게해야합니까?
- 8. 파이어 폭스는 사용자 이름 필드에 비밀번호를 입력합니다.
- 9. 사용자 인증 : 잘못된 이메일/비밀번호 입력에 대해 별도의 오류 제공
- 10. Paypal IPN의 사용자 이름 및 비밀번호
- 11. 다른 출력, 동일한 사용자 이름 및 비밀번호
- 12. 사용자 이름 및 비밀번호 - 정상적인 제약 조건?
- 13. Java를 사용하여 Mac에 사용자 이름/비밀번호 저장
- 14. Android WebView- 사용자 이름 및 비밀번호 기억
- 15. VB.NET에 대한 LDAP 연결이 알 수없는 사용자 이름 또는 잘못된 암호 인 경우 실패합니다.
- 16. 비밀번호 재설정 및 사용자 잠금
- 17. 잘못된 비밀번호를 표시하는 IUI 방식
- 18. CruiseControl 사용자/비밀번호
- 19. 실버 라이트 wcf 및 사용자 정의 사용자 이름 및 비밀번호
- 20. 레일 : HTTP Basic Auth에 사용되는 사용자 이름/비밀번호 액세스?
- 21. 잘못된 사용자/비밀번호 repoze.who를 정상적으로 처리하십시오. Python/Pylons에있는
- 22. iOS 앱에 입력 된 사용자 이름과 비밀번호를 확인하는 문이있는 경우
- 23. 사용자 이름과 비밀번호를 저장하고 읽는 키 체인
- 24. Subversion이 내 사용자/비밀번호를 기억하지 못합니다.
- 25. Android XML 웹 서비스 사용자 이름 및 비밀번호 유효성 확인
- 26. Java Desktop App에 포함 된 사용자 이름/비밀번호 보안
- 27. 코드에서 비밀번호 보안
- 28. 비밀번호를 재설정하거나 이전 비밀번호를 제공하는 안전한 방법
- 29. 사용자 비밀번호를 변경하는 LDAP
- 30. Android android.content.Intent.ACTION_SEND로 이메일 보내기 (사용자 이름 및 비밀번호 인증 사용)
PHP가 $ _POST를 다음과 같이 사용할 수없는 이유는 무엇입니까? $ _POST [ 'username'] = "Joe Blogs"; 그것은 분명하고 쉽게 것들을 만들 것 같습니다. –
SMF 포럼에 예제 코드/URL을 줄 수 있습니까? 나는 그들이 항상 폼 값에 접근 할 수있는 동일한 index.php 페이지에 게시하는 것을 본다. – zaf