우리가 항상 사용하는 로그인 SQL의 기본적인 형태 SQL 삽입(영어: SQL Injection, SQL 인젝션, SQL 주입)은 응용프로그램 보안 상의 허점을 의도적으로 이용해, 개발자가 생각치 못한 SQL문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 공격 방법이다. 다음과 같이 사용자의 아이디와 비밀번호를 확인하고 일치하면 로그인을 하는 PHP 프로그램이 있다고 하자. $result = mysql_query("SELECT * FROM member WHERE ID='$id' AND PW='$pw'");if(mysql_num_rows($result)){ // 로그인 성공}else{ // 사용자의 아이디와 비밀번호가 틀리므로 로그인 실패} 일반적인 경우에 위 코드가 어떻게 동작할 지 예상할 수..
session 변조방지를 위해 비교할 값은 무조건 IP로 최초 로그인에 성공하고 그 다음부터는 세션값을 가지고 이동한다. 그런데 단순히 세션에 값이 들어있다고만 해서(true) 판단하는게 아니라 사용자가 로그인을 했을 때의 실제 IP 정보를 가지고 비교해야 변조공격에 대한 방어율이 올라간다. 따라서 세션을 저장하고 비교하는 값에는 실제 IP값을 추천한다. Process [로그인 페이지] ~~ 로그인 SQL문 : 로그인 성공 ~~ $_SESSION["USER_IP"] = $_SERVER['REMOTE_ADDR']; //내장함수를 사용하거나 $_SESSION["USER_IP"] = lib_getRealIP(); //본인이 만든 함수를 활용한다. [이후 다른 페이지] $_SESSION["USER_IP"] !=..
자유게시판 번호 제목 작성자 작성일 조회수
호출부 var _confirm_duplicate = "false";var newWinURL = "popCheckId.php?identifier=" + pUserID.val();var newWinName = "IDchk";var newWinOpt = "width=380, height=200, menubar=no, toolbar=no, location=no, status=no, scrollbars=no, resizeable=no";window.open(newWinURL, newWinName, newWinOpt); ajax$("#_confirm_duplicate").load("popCheckId.php #_confirm_duplicate", complete);function complete(){_confirm..
쿠키의 필요 사용자가 처음 방문한 사이트의 광고팝업 HTML의 "다시보지 않음" 기능이나 쇼핑몰의 비회원 유저(혹은 회원 유저)가 담은 장바구니 같은 "보안이 중요하지 않고 + 시간을 기준으로 + 지속적인 권한"을 부여할 경우의 정답은 바로 쿠키다. 또한 쿠키는 유저의 컴퓨터에 파일 형식으로 저장되기 때문에 POST, GET 와 같이 Page to Page가 아니라 여러 페이지에서 그 값을 참조하여 쓸 수 있다는 장점이 있다. 형식 쿠키 설정 : setcookie("쿠키 이름", "쿠키 값", 만료시간); 쿠키 사용 : $_COOKIE("쿠키 이름"); 쿠키 생성 쿠키는 만료시간을 기준으로 생성과 소멸이 이루어 지는데 만약 만료시간이 "0"일 경우 1970년 1월 1일 0시 0분 0초 를 뜻하며 보편적으..
file_exists 파일 혹은 디렉토리 존재의 유무를 검사합니다. 설명 bool file_exists (string $filename) 인수 filename 파일 혹은 디렉토리의 경로를 적어 줍니다. 참고로 윈도우즈에서는 네트워크 공유가 되어있는 파일을 확인하기 위해 //computername/share/filename 또는 \\computername\share\filename 로 사용이 가능 합니다. On windows, use //computername/share/filename or \\computername\share\filename to check files on network shares. 반환값 지정한 파일이나 디렉토리가 존재하는 경우 TRUE를 반환, 그렇지 않으면 FALSE를 반환 합니..
isset isset 변수가 설정되었는지 검사 설명 bool isset ( mixed $var [, mixed $... ] ) 변수가 설정되었는지 검사합니다. 변수를 unset()으로 지우면, 더 이상 설정되어 있지 않습니다. NULL로 지정한 변수를 확인하면 isset()은 FALSE를 반환합니다. NULL 바이트("\0")는 PHP NULL 상수와 다릅니다. 여러 인수가 주어지면, isset()은 모든 변수가 설정되었을 경우에만 TRUE를 반환합니다. 평가는 왼쪽에서 오른쪽으로 이루어지며, 설정되지 않은 변수를 만나면 바로 중단합니다. 인수 var확인할 변수. ...다른 변수 .. 반환값 var가 존재하면 TRUE, 아니면 FALSE를 반환합니다. 예제 Example #1
어려운거 없다