:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
14/07/29 11:52
쿼리는 문제가 없는거같은데.. 혹시 암호를 sql password 처리 안하고 그냥 넣고 계신가요? 보통은 password('암호')로 찾는게 일반적이라..
그리고 로그인에 관련된 쿼리는 왠만하면 [email = ? and password = password(?)] 이런식으로 처리해주시고 [$query = $this->db->query($sql, array($email, $pwd)); ] 이런식으로 처리해주시는게 좋습니다. sql injection 방어가 되거든요. 뭐 꼭 로그인 아니더라도 모든 model문은 저렇게 작성해주시는게 편하고 관리하기도 좋고.. 뭐 그렇습니다. 음.. 그리고 view쪽은, 저는 왠만하면 controll쪽에선 많은 작업을 시키지 않고 view쪽은 controll에서 넘어온 데이터가지고 직접 만지는 편이라.. 예를들면 로그인 된 사람만 보여질 데이터가 있다면 view html 단에서 <? if ($this->member_id) { echo 'blahblah'; } ?> 이렇게 삽입하는 편이라 뭐라 말씀을 못드리겠네요. 아 그리고 쿼리문을 $sql = "SELECT `email`, `nickname` FROM `users` WHERE email = '".$auth['email']."' AND password = '".$auth['password']."' "; 이렇게 작성하셨는데, $sql = "SELECT email, nickname FROM users WHERE email = ? AND password = ? "; 이렇게 작성하시는게 맞습니다. 지금보니 테이블명과 컬럼에 ' 가 붙어있는데 안쓰셔도 되요.. 아니 쓰면 안될꺼같은데-.-;; 저렇게 써본적이 없어서 모르겠네요.
|