기 타 PHP 암호 입력 해야 내용 보이게 하는법 좀 갈쳐주세요
2020.01.04 07:09
제목 그대로 입니다 암호 입력 하면 해당 하는 HTML 테그 내용이 화면에 출력 되는 단을 PHP 파일을 만들고 싶습니다
구상도
암호 입력 -> 맞으면 내용 표시
소스 하나 찾았습니다
<?php
$password = '1234';
$method = $_SERVER['REQUEST_METHOD'];
$self = $_SERVER['PHP_SELF'];
$logged = isset($_COOKIE['login']) ?
$_COOKIE['login'] == md5($password) :
false;
function reload(){
header('location:'.$GLOBALS['self']);
}
function alert($msg){
echo '<script type="text/javascript">alert("',$msg,'");</script>';
}
if($method=='POST'){
if($password==$_POST['password']){
setCookie('login', md5($password));
reload();
}else{
alert('비밀번호가 다른가봉가?');
}
}else if(isset($_GET['logout'])){
setCookie('login', 0, 0);
reload();
}
?>
<!doctype html>
<html>
<head>
<meta charset="euc-kr">
</head>
<body>
<?if($logged):?>
로그인했나 봉가?
<a href="<?=$self?>?logout">로그아웃</a>
<?else:?>
<form action="<?=$self?>" method="post">
<input type="password" name="password" required>
<input type="submit">
</form>
<?endif?>
</body>
</html>
로그인 로그아웃 이쁘게 꾸며만 주세요 저건 봐도 어딜 수정해야 할지 ㅋㅋ;;
댓글 [2]
-
DarknessAngel 2020.01.04 07:53
-
vnfjddl 2020.01.05 00:23
<?if($logged):?>
<!--이 부분에 내용 넣으면 됩니다.-->
<?else:?>
function alert($msg)의 내용물을 손봐주세요
그리고 쿠키에 헤쉬를 저장하는 방식은 보안상 좋지 않습니다
또한 비번이 md5에 salt도 없는 시점에서 보안상 거의 무용지물입니다
저런 소스를 쓰면 1번이라도 로그인한 컴에서 쿠키 복사해서 간단하게 값을 재사용하거나 hash에서 비번을 추출해버릴 수 있습니다