hash 함수 원형
string hash ( string $algo , string $data [, bool $raw_output = false ] ) 인자는 기본적으로 2개가 들어가며 추가적으로 결과 반환에 대한 부분을 설정할 수 있다. $algo : 해시 알고리즘 (md5, sha256 ...) $data : 해시 알고리즘을 적용할 데이터 $raw_output : TRUE일 경우 바이너리 데이터로 결과 반환, FALSE일 경우 소문자 hex 값으로 반환
예제
$password = hash('sha256', $password, true);
[출처][PHP] hash 함수(해시 함수) 사용하기|작성자 크리핵티브
hash_algos — 등록된 해싱 알고리즘 목록 반환
hash_copy — 해싱 컨텍스트 복사
hash_equals — 타이밍 공격 안전 문자열 비교
hash_file — 주어진 파일의 내용을 사용하여 해시 값 생성
hash_final — 증분 해시를 마무리하고 결과 다이제스트를 반환합니다.
hash_hkdf — 제공된 키 입력의 HKDF 키 파생 생성
hash_hmac_algos — hash_hmac에 적합한 등록된 해싱 알고리즘 목록을 반환합니다.
hash_hmac_file — HMAC 방법과 주어진 파일의 내용을 사용하여 키가 있는 해시 값을 생성합니다.
hash_hmac — HMAC 방법을 사용하여 키 해시 값 생성
hash_init — 증분 해싱 컨텍스트 초기화
hash_pbkdf2 — 제공된 암호의 PBKDF2 키 파생 생성
hash_update_file — 파일에서 활성 해싱 컨텍스트로 데이터 펌프
hash_update_stream — 오픈 스트림에서 활성 해싱 컨텍스트로 데이터를 펌핑합니다.
hash_update — 데이터를 활성 해싱 컨텍스트로 펌프
hash — 해시 값 생성(메시지 다이제스트)
"output buffering start → 출력 버퍼링 시작"
출력 버퍼링을 켜는 PHP 명령어
출력 버퍼링이 켜져 있는 동안 헤더를 제외한 스크립트의 모든 출력을 내부 버퍼에 저장하며 실제 전송하지 않는다.
ob_start()를 여러번 호출해도 오류는 발생하지 않는다.
— 현재 세션 저장 경로 가져오기 및/또는 설정
=>php 내장함수인
htmlspecialchars() 함수를 활용
이 함수는 문자열에서 특정한 특수 문자를 HTML 엔티티로 변환한다.
이함수를 사용하면 악성 사용자로 부터 XSS 공격을 방지 할 수 있다.
변환되는 문자는 아래와 같다.
특수 문자 | 변환된 문자 |
---|---|
&(앰퍼샌드) | & |
""(겹따옴표) | " |
''(홑따옴표) | ' |
<(미만) | < |
>(이상) | > |
=>링크를 걸 때에 basename(파일명)으로 가둬야 안전
=>basename()활용하면 "../"를 쳐낼 수 있다.
변수를 하나 추가하여 사용하면 좋다.ex. $basename = basename($_GET['id']) ;