카테고리 없음
php프로젝트 암호화
campanula
2023. 11. 8. 07:19
fileimage를 넣을 때 태그 안에 multiple을 넣으면 여러장을 넣을 수 있다.
단방향 암호화
//회원 정보 입력
public function input($marr){
//단방향 암호화
$new_hash_password = password_hash($marr['password'], PASSWORD_DEFAULT);
$sql = "INSERT INTO member(id, name, password, email, zipcode, addr1, addr2,photo, create_at, ip) VALUES
(:id, :name, :password, :email, :zipcode, :addr1, :addr2,:photo, NOW() ,:ip)";
$stmt = $this->conn->prepare($sql);
$stmt -> bindParam(':email', $marr['email']);
$stmt -> bindParam(':id', $marr['id']);
$stmt -> bindParam(':name', $marr['name']);
$stmt -> bindParam(':zipcode', $marr['zipcode']);
$stmt -> bindParam(':password', $new_hash_password);
$stmt -> bindParam(':addr1', $marr['addr1']);
$stmt -> bindParam(':addr2', $marr['addr2']);
$stmt -> bindParam(':photo', $marr['photo']);
$stmt -> bindParam(':ip', $_SERVER['REMOTE_ADDR']);
$stmt->execute();
}
//로그인
public function login($id, $pw){
//password_verify($password, $new_password);
$sql = "SELECT password FROM member WHERE id=:id";
$stmt = $this->conn->prepare($sql);
$stmt->bindParam(':id',$id);
$stmt->execute();
if($stmt->rowCount()){
$row = $stmt->fetch();
if(password_verify($pw, $row['password'])){
return true;
}else{
return false;
}
}else{
return false;
}
return $stmt->rowCount() ? true:false;
}
}
const login = document.querySelector("#login");
if(login) {
login.addEventListener("click",()=>{
self.location.href="./login.php"
})
}
if로 존재여부를 파단한 후에 사용.
ALTER TABLE `member` ADD COLUMN LEVEL TINYINT UNSIGNED DEFAULT 1;
- TINYINT: 데이터 타입을 지정합니다. TINYINT는 매우 작은 정수를 저장할 수 있는 데이터 타입으로, MySQL에서는 -128에서 127까지의 범위를 가집니다. UNSIGNED 키워드가 사용되면 범위가 0에서 255까지가 됩니다.
- UNSIGNED: 이 키워드는 해당 열이 음수 값을 저장하지 않음을 나타냅니다. UNSIGNED로 선언된 TINYINT는 0에서 255까지의 양의 정수만 저장할 수 있습니다.
레벨을 부여하여 관리자와 사용자를 나눔.
//fetch는 하나만 가져오고 fetchAll은 여러개를 가져옴.
return $stmt->fetchAll();
//회원관리
public function list(){
$sql = "SELECT * FROM member";
$stmt = $this->conn->prepare($sql);
$stmt->setFetchMode(PDO::FETCH_ASSOC); //필드명으로 된 형태만 나옴.
$stmt->execute();
//fetch는 하나만 가져오고 fetchAll은 여러개를 가져옴.
return $stmt->fetchAll();
}