전체 보안 이미지 업로드 스크립트
질문에서 논의된 광범위한 조치에도 불구하고 포괄적인 이미지 업로드 보안 스크립트는 다음 추가 측면을 해결해야 합니다. :
클라이언트 측 유효성 검사:
파일 이름 바꾸기:
파일 확장자 확인:
이미지 분석:
파일 저장:
데이터베이스 통합:
예제 스크립트:
다음은 위의 보안 조치를 통합한 수정된 PHP 스크립트입니다.
<?php if (!empty($_FILES['image'])) { // Validate file extension if (!in_array($_FILES['image']['type'], ['image/jpeg', 'image/png', 'image/gif'])) { echo 'Invalid file type'; exit; } // Validate file size if ($_FILES['image']['size'] > 1 * 1024 * 1024) { // 1MB echo 'File too large'; exit; } // Generate random filename $filename = uniqid() . '.' . pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION); // Rename and move file if (move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/' . $filename)) { // Insert into database $sql = "INSERT INTO images (name, original_name, mime_type, upload_date) VALUES (:name, :original_name, :mime_type, :upload_date)"; $stmt = $conn->prepare($sql); $stmt->execute([ ':name' => $filename, ':original_name' => $_FILES['image']['name'], ':mime_type' => $_FILES['image']['type'], ':upload_date' => date('Y-m-d H:i:s') ]); echo 'Image uploaded successfully'; } else { echo 'Error uploading image'; } } ?>
이 스크립트는 파일 확장자, 크기 및 MIME 유형을 확인하고, 파일 이름을 바꾸고, 안전하게 저장하고, 데이터베이스.
추가 권장사항:
위 내용은 보안 이미지 업로드 스크립트를 작성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!