2014-05-20 2 views
0

두 명의 선택된 사용자 만 내 애플리케이션에 로그인하도록 허용합니다. 제출 버튼을 클릭 할 때 클릭하십시오. 이 두 사용자 이름은 user.txt이라는 텍스트 파일에 나열되어 있으므로 username 매개 변수를 읽고 텍스트 필드에 입력 한 사용자 이름이 user.txt 파일의 항목과 일치하면 사용자는 로그인 할 수 있어야합니다 else 오류가 표시되어야합니다.입력란에 특정 사용자 이름을 로그인하도록 허용하고 사용자 이름 입력란에 HTML

참고 : 도전은 여기에 내가 이미 검증이 (validateForm()) 제출 버튼의 클릭에 잘 작동을. 사용자 이름과 암호 필드가 비어 있지 않은지 확인합니다. 이 새로운 특정 사용자 이름 유효성 확인을 허용 유효성 확인은 물론 제출 버튼을 클릭하십시오.

내가 예제 코드를 제안 할 수 있습니까?이 유효성 검사를 Ajax 또는 jQuery 또는 간단한 JavaScript를 사용하여 처리하는 방법은 무엇입니까?

Username.txt 파일 이름 및 암호 텍스트 필드가 비어 있지 않은 확인 여부를

Username1 : Tom 
Username2 : Harry 

:

function validateForm() { 
    var x = document.forms["login"]["userid"].value; 
    if (x == null || x == "") { 
     alert("Username is empty"); 
     return false; 
    } 
    var x = document.forms["login"]["pswrd"].value; 
    if (x == null || x == "") { 
     alert("Password is empty"); 
     return false; 
    } 
} 
+0

JavaScript로 인증하면 안됩니다. 이것은 JS가 브라우저에서 실행되고 사용자가 브라우저를 완전히 제어 할 수 있기 때문입니다. 이는 JS에 의해서만 시행되는 사용자 제한을 우회 할 수 있음을 의미합니다. 어떤 서버 쪽 스택을 사용하고 있습니까? – alnorth29

+0

최소한 유효성 검사 서버 측을 처리해야합니다. 클라이언트 측 유효성 검사는 쉽게 "해킹"되므로 눈을 사로 잡는 것입니다. 이러한 사용자 이름을 클라이언트에 표시하지 않으려합니다. – Cerbrus

+0

코드를 작성하지는 않겠지 만 텍스트 파일을 읽고 입력 된 값과 비교할 수있는 웹 서비스를 호출하는 ValidaeForm 함수에서 AJAX 호출을 쉽게 보내고 페이지에 응답을 제공하고 그에 따라 사용자에게 반응하십시오. –

답변

0

올바른 (보안) 인증을 원하면 자습서 like this one을보십시오. 당신은 단지 사용자 이름에 대해 확인하려면

이 jQuery 코드를 시도 :

$.ajax({ 
    type: "POST", 
    url: "script_url", 
    dataType: "json", 
    data: { 
     user : $("#user").val(), 
     call : "checkUser" 
    }, 
    beforeSend: function(){ }, 
    success : function(response){ 
     if(!response){ 
      alert('User not allowed!'); 
     } 
    }, 
    complete: function(){ } 
}) 

그리고 PHP 코드 :

$lines = file('../location/Username.txt'); 
$arr_users = array(); 
foreach($lines as $line){ 
    $arr = explode(':', $line); 
    $arr_users[] = trim($arr[1]); 
} 

function checkUser($request){ 
    return in_array($request['user']); 
} 

if (!empty($_POST['call'])) { 
    die($_POST['call']($_POST)); 
} 

안부를!

+0

작품, 고마워요. –

+0

-1 : 인증 방법을 다루는 데는 아무 것도 없습니다. 서버는 어떤 사용자가 로그인했는지 알지 못하기 때문에 클라이언트 쪽 AJAX 호출을 중단하고 들어가기가 매우 쉽습니다. – Cerbrus

+0

질문이 잘못된 문제 일 수 있기 때문입니다. OP **가 원하는 대답은 ** 여전히 ** 아주 나쁜 생각 일 수 있습니다. **이 대답은 인증이 보이는 것처럼 보이지 않는 사실을 사용자에게 알려주지 않습니다. – Cerbrus

1

당신은 서버의 file.txt를 상대로 확인해야 (btw : 데이터베이스는 일반적으로 그 용도로 사용됩니다.)

클라이언트 측 (자바 스크립트)에서이를 수행하는 유일한 방법은 배열 내부에 이름 목록을 포함시키는 것입니다.하지만 클라이언트가 배열을 볼 수 있기 때문에 이해가되지 않습니다. 그래서 서버 측을 사용해야합니다.

+0

안녕하십니까, 저는 사용자 이름을 읽으려는 로컬 컴퓨터 C : ​​\\ username.txt에 내 username.txt 파일이 있습니다. 유효한 사용자 인 경우 특정 사용자가 응용 프로그램에 입력 할 수 있도록 허용해야합니다 유효하지 않은 사용자 메시지가 표시됩니다.이 텍스트는 html의 텍스트 필드에 대해 수행하고자하는 유효성 검사입니다. –

+0

@Dojo_user : 기본적으로 javascript를 사용하여 로컬 시스템 파일에 액세스 할 수 없습니다. –

+0

우리는 ajax 또는 jquery를 사용할 수 있습니다. 바람둥이의 webapps 폴더에 파일을 놓고 그 파일에 접근 할 수 있습니다. –

관련 문제