반응형
I. sql 보안
1. mysqli->real_escape_string()
- characters encoded are NUL (ASCII 0), \n, \r, ', ", Contrl-Z
II. php 애플리케이션 보안
1. htmlspecialchars()
- &, <, > 을 html entity로 변환
2. htmlspecailchars()
- entity 로 표현될 수 있는 모든 것을 교체
- 두번째 파라미터
. ENT_COMPAT : 큰따옴표를 "로 변환하되 작은 따옴표는 그대로 둔다.
. ENT_QUOTES : 작은따옴표와 큰따옴표 모두를 각각 ' 와 " 로 변환
. ENT_NOQUOTES(기본값) : 어떠한 따옴표도 변환하지 않는다.
- 두번째 파라미터
. UTF-8 : 문자열 인코딩 타입
예) $str = htmlspecailchars($input_str, ENT_QUOTES, "UTF-8");
echo nl2br($str);
3. PHP 단방향 해쉬 암호화 알고리즘
- crypt() < md5() < sha1()
.sha1() 함수는 40개의 문자열로 리턴된다.
4. MySQL 단방향 암호화 알고리즘
- sha1()
III. php 서버설정 보안
1. php.ini 파일에서 allow_url_fopen을 막는다.
2. 웹서버에서 .php 와 .html 파일에 대한 요청만을 수용한다.
3. 사용자가 파일을 읽는 경로를 보내면 상대경로와 절대경로를 잘 파악하여 중요한 파일을 못읽게 한다.
IV. Javascript 보안
1. XSS 공격 막는 방법
- 동적으로 생성되는 데이터에 다음의 코드를 추가한다.
. content = content.replace(/</g, "<").replace(/>/g, ">");
1. mysqli->real_escape_string()
- characters encoded are NUL (ASCII 0), \n, \r, ', ", Contrl-Z
II. php 애플리케이션 보안
1. htmlspecialchars()
- &, <, > 을 html entity로 변환
2. htmlspecailchars()
- entity 로 표현될 수 있는 모든 것을 교체
- 두번째 파라미터
. ENT_COMPAT : 큰따옴표를 "로 변환하되 작은 따옴표는 그대로 둔다.
. ENT_QUOTES : 작은따옴표와 큰따옴표 모두를 각각 ' 와 " 로 변환
. ENT_NOQUOTES(기본값) : 어떠한 따옴표도 변환하지 않는다.
- 두번째 파라미터
. UTF-8 : 문자열 인코딩 타입
예) $str = htmlspecailchars($input_str, ENT_QUOTES, "UTF-8");
echo nl2br($str);
3. PHP 단방향 해쉬 암호화 알고리즘
- crypt() < md5() < sha1()
.sha1() 함수는 40개의 문자열로 리턴된다.
4. MySQL 단방향 암호화 알고리즘
- sha1()
III. php 서버설정 보안
1. php.ini 파일에서 allow_url_fopen을 막는다.
2. 웹서버에서 .php 와 .html 파일에 대한 요청만을 수용한다.
3. 사용자가 파일을 읽는 경로를 보내면 상대경로와 절대경로를 잘 파악하여 중요한 파일을 못읽게 한다.
IV. Javascript 보안
1. XSS 공격 막는 방법
- 동적으로 생성되는 데이터에 다음의 코드를 추가한다.
. content = content.replace(/</g, "<").replace(/>/g, ">");
반응형