코딩/PHP (43) 썸네일형 리스트형 [PHP] post방식 뒤로가기시 만료된 페이지 해결 header("Pragma: no-cache"); header("Cache-Control: no-cache,must-revalidate"); [PHP] IP 주소를 사용하여 국가와 도시를 알아내기 먼저 GeoIP 데이터베이스를 다운로드하고 PHP에서 사용할 수 있도록 설치해야 합니다. GeoIP 데이터베이스를 다운로드하려면 MaxMind 사이트(https://dev.maxmind.com/geoip/geoip2/geolite2/)에서 무료 버전인 GeoLite2 데이터베이스를 다운로드하면 됩니다. 다운로드한 파일을 압축 해제한 후, PHP에서 사용할 수 있도록 geoip 라이브러리를 설치해야 합니다. geoip 라이브러리는 PECL(PHP Extension Community Library)을 통해 설치할 수 있습니다. 설치가 완료되면 다음과 같은 코드를 사용하여 IP 주소로 국가와 도시를 가져올 수 있습니다. // GeoIP 데이터베이스 파일 경로 설정 $database = "/path/to/Geo.. [PHP] PHP에서 SQL Injection 공격을 방어하기 Prepared Statement 사용 Prepared Statement는 입력값을 파라미터화하여 쿼리를 실행하기 전에 이미 값이 처리되어있기 때문에 SQL Injection 공격에 대해 안전합니다. // MySQLi 예시 $stmt = $conn->prepare("SELECT * FROM users WHERE username = ? AND password = ?"); $stmt->bind_param("ss", $username, $password); $stmt->execute(); $result = $stmt->get_result(); // PDO 예시 $stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password =.. [PHP] html 태그 제거 $html = 'click'; echo strip_tags( $html ); // 모든 태그 날리기 echo strip_tags( $html, '' ); // a 태그만 남기기 [PHP] 정규식을 이용해서 img 태그 없애고 src값만 가져오기 $img = ''; preg_match_all("/]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i", $img, $match); print_r($match[1]); $_SERVER 변수로 얻을 수 있는 정보 인덱스 내용 PHP_SELF 현재 실행 중인 파일의 경로와 파일명 표시 argv 페이지에 전달된 데이터 표시 GATEWAY_INTERFACE 서버가 사용 중인 CGI의 버전 SERVER_ADDR 현재 사용 중인 서버의 IP 주소 SERVER_NAME 현재 사용 중인 서버의 호스트명 SERVER_SOFTWARE 리스폰스헤더에 쓰여있는 서버의 소프트웨어 환경 SERVER_PROTOCOL 페이지가 리퀘스트될 때의 프로토콜명과 버전 REQUEST_METHOD 페이지에 엑세스할 때 사용된 리퀘스트의 메소드명 REQUEST_TIME 리퀘스트가 개시된 때의 타임스탬프 REQUEST_TIME_FLOAT 리퀘스트가 개시된 때의 타임스탬프(마이크로 초 표시) QUERY_STRING 검색인수 표시 DOCUMENT_ROOT .. [PHP] 특정 문자열 변경 $str = "환불신청"; echo $str; $replace = str_replace('환불', '반품', $str); echo $replace; 결과 : 1, 환불신청 2, 반품신청 [PHP] 이전 페이지 주소 불러오기 $_SERVER["HTTP_REFERER"] echo $_SERVER["HTTP_REFERER"]; 결과 : localhost/main.php?no=1; 페이지명만 불러오고 싶을 경우 echo basename($_SERVER["HTTP_REFERER"]); 결과 : main.php 이전 1 2 3 4 5 6 다음