- SQL 인젝션 해킹 기법 학습 -
- 비밀번호 가 들어갈 부분에 코드를 넣어 해킹 ex) ' OR '' = '' PW 부분에 입력하면 ''=''는 참이므로 로그인이 된다.
- 해결 방법 : SQL 인젝션을 막아주는 PHP 함수를 사용
- mysqli_real_escape_string()
### PHP, DB 학습 02
- SQL 인젝션 해킹 방어 : 다른 방법 stmt 쿼리
- $sql = "SELECT * FROM MEMBER AS M WHERE M.loginId = ? AND M.loginPw = ?"
- $stmt -> $dbConn->prepare($sql);
- $stmt -> bind_param('ss', $loginId,$loginPw);
- $stmt -> $stmt->execut();
- $result = $stmt -> get_result();
- $member = $result -> fetch_assoc();
### PHP, DB 학습 03
- DB secSql 클래스 도입
- ! php 는 -> 가 . 과 같은 역할, ex) slq.add() == sql->add()
- $sql = DB__secSql();
- $sql->add("SELECT *");
- $sql->add("FROM MEMBER AS M");
- $sql->add("WHERE M.loginId = ?", $loginId);
- $sql->add("AND M.loginPw = ?", $loginPw);
- 클래스 생성
class DB__secSql{
private string $sql = "";
private array $params = [];
public __con
public function add($sqlBit, $param = null){
$this->sql .= " " . $sqlBit;
if($param){
$this->params[] = $param;
}
}
}
function DB__secSql(){
return new DB__SeqSql();
}
사진 출처 : https://noirstar.tistory.com/264
'Web Back-End > PHP' 카테고리의 다른 글
PHP 학습 03 - DB 와 연결하기 (0) | 2021.05.23 |
---|---|
PHP 학습 02 - 기본문법, $_GET[], dump, intval , isset (0) | 2021.05.23 |
PHP 학습 01 - PHP 환경 설정 & XAMPP httpd.conf 설정 (0) | 2021.05.23 |