<?php
include 'lib/db_conn.php';
$uid=$_REQUEST['uid'];
$pass=$_REQUEST['pass'];
if(($uid==NULL && $pass==NULL) ||($uid==NULL) ||($pass==NULL))
{
header("location:index.php?msg=Fields can't be left blank..");
}
$pass=md5($pass);
$sql1="SELECT * FROM `tb_user` WHERE `email`='$uid' AND `pass`='$pass'";
$rs1=mysql_query($sql1) or die (mysql_error());
$row1=mysql_fetch_array($rs1) or die (mysql_error());
$email=$row1['email'];
if($uid==$email)
{
session_start();
$_SESSION['id']=$row1['id'];
header("location:home.php");
}
else
{
header("location:index.php?msg=Wrong Credentials..");
}
?>
0
A
답변
0
는 주소 표시 줄에 메시지를 작성하지 않는 것이 좋습니다하지만 그냥 토큰 화, 즉 :
header("location:index.php?msg=wcred");
과의 index.php에서 :
if ($_GET['msg'] == "wcred") echo "Wrong Credentials..";
그리고, 카이 언급 한 바와 같이, $uid=$_REQUEST['uid'];
는 dnagirl가 언급 한 바와 같이, 필드 공허함 검사가 잘못된 것입니다, 또한
$uid=mysql_real_escape_string($_REQUEST['uid']);
해야합니다. 내가 언급 나처럼
또한, exit
은 (||) 어떤 위치 헤더
<?php
if((empty($_REQUEST['uid']) OR empty($_REQUEST['pass'])) {
header("location:index.php?msg=fempty");
exit;
}
include 'lib/db_conn.php';
$pass=md5($_REQUEST['pass']);
$pass=mysql_real_escape_string($pass);
$uid=mysql_real_escape_string($_REQUEST['uid']);
$sql1="SELECT * FROM `tb_user` WHERE `email`='$uid' AND `pass`='$pass'";
$rs1=mysql_query($sql1) or die (mysql_error());
$row1=mysql_fetch_array($rs1) or trigger_error(mysql_error());
if($row1) {
session_start();
$_SESSION['id']=$row1['id'];
header("location:home.php");
exit;
} else {
header("location:index.php?msg=wcred");
exit;
}
?>
0
코드 태그를 사용해야합니다. 읽을 때보기가 어렵습니다.
나는 "잘못된 자격증 명 ..."을 입력해서는 안되며 문자 그대로 URL을 인코딩해야한다고 생각합니다. 또한, header() -calls를 보낸 후에 실행을 exit()해야합니다.
그건 그렇고, 당신은 $ uid를 벗어나야합니다. 그렇지 않으면 SQL 인젝션에 문제가 생길 수 있습니다.
+0
탈출의 좋은 시점 –
관련 문제
- 1. Yii $ loginUrl = '/'문제 (로그인 페이지로 리디렉션되지 않음)
- 2. FB.Connect.logoutAndRedirect는 지정된 페이지로 리디렉션되지
- 3. 관리 빈에 지정된 새 페이지로 리디렉션되지 않습니다.
- 4. 로그인 (페이스 북 인증) 후 Facebook이 홈 페이지로 리디렉션되지 않습니까?
- 5. LightOpenId가 로그인 페이지로 리디렉션하지 않습니다.
- 6. 로그인이 잘못된 페이지로 리디렉션됩니다.
- 7. href = "#"은 색인 페이지로 리디렉션되지만 현재 페이지 상단에는 리디렉션되지 않습니다.
- 8. 로그인 후 사용자를 특정 페이지로 리디렉션
- 9. 취소 단추가 별도의 페이지로 리디렉션되지 않음
- 10. 로그인 후 페이지로 리디렉션
- 11. symfony 모듈이 리디렉션되지 않습니다
- 12. 양식의 인증 로그인 페이지에서 사용자 지정 로그인 페이지로 리디렉션 ASP.NET
- 13. 해당 사이트로 리디렉션되지 않고 사이트 사용자 로그인 정보를 보내려면 어떻게해야합니까?
- 14. 프레임 셋에 asp.net이 리디렉션되지 않습니다.
- 15. PHP 로그인 스크립트가 작동하지 않습니다.
- 16. silverlight 로그인 페이지로 리디렉션
- 17. MVC에서 자격 증명의 유효성을 검사하고 잘못된 로그인 페이지로 리디렉션하는 방법
- 18. BASH : 오류 메시지가 파일로 리디렉션되지 않습니다.
- 19. PHP 로그인 시스템이 작동하지 않습니다
- 20. 사용자 액세스 수준에 따라 다른 페이지로 리디렉션되는 PHP 로그인 페이지
- 21. 표준 입력이 리디렉션되지 않습니다. C#
- 22. 로그인 페이지로 리디렉션
- 23. https 로그인 페이지로 리디렉션
- 24. 정적 이미지가 PHP 생성 페이지로 캐싱되지 않습니다
- 25. 로그인하지 않은 경우 특정 페이지로 리디렉션 - .htaccess
- 26. phpmyadmin login이 동일한 로그인 페이지로 리다이렉트
- 27. 로그인 할 때 "remember me"기능을 구현하는 동안 폼 인증이 defaultUrl로 리디렉션되지 않습니다.
- 28. php 로그인 스크립트
- 29. Android : 로그인 한 후 사용자가 로그인 페이지로 돌아 가지 않도록하기
- 30. facebook 통합을 잘못된 페이지로 전달
'경우 (($의 UID == NULL && $ 패스 == NULL) || ($의 UID == NULL을 따라야합니다 $ pass == NULL))'... 과도하다. OR 케이스는 AND 케이스가 필요 없음을 의미한다. – dnagirl
'Location :'헤더 다음에는 프로토콜을 포함하여 absoluteURI가 와야한다. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html – TRiG