크게 작게 인쇄

[PHP]안전한 문자열 출력을 위한 함수들

[PHP함수] 안전한 문자열 출력을 위한 함수들


string trim ( string $str [, string $charlist ] )

  • 주어진 문자열의 앞뒤 공백을 제거 (PHP4, PHP5)
  • charlist가 지정되지 않으면 아래와 같은 문자들이 제거됨
  • " "(공백), "\t"(탭), "\n"(개행), "\r"(케리지리턴), "\0"(널바이트), "\x0B"(수직탭)을 제거
  • 위의 공백 및 탭등은 문자열 앞,뒤에 있는경우에만 처리됨

string number_format ( float $number [, int $decimals = 0 ] )
string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )

  • 주어진 숫자를 지정된 형식에 맞게 반환 (PHP4, PHP5)
  • decimals는 소수점 표현갯수이며, 끝에서 반올림 처리됨
  • dec_point는 소수점의 표현문자이며, thousands_sep는 천단위마다 구분 문자를 지정함
  • 금액등을 표시할때 천단위 콤마 표현 형식에 활용

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT [, string $charset [, bool $double_encode = true ]]] )

  • 특수 문자를 HTML엔티티로 변환
  • HTML에서 특별한 의미를 갖는 몇가지 특수문자에 대하여 엔티티로 변환후 반환
  • flags가 ENT_COMPAT이면 큰따옴표(")만 변환, ENT_QUOTES이면 작은따옴표('), 큰따옴표(") 모두 변환
  • ENT_NOQUOTES이면 따옴표는 변환하지 않는다
  • '&' -> '&amp;' , '"' -> '&quot;' , ''' -> '&#039' , '<' -> '<' , '>' -> '>' 로 변환됨
  • charset는 문자셋 지정

string htmlentities ( string $string [, int $flags = ENT_COMPAT [, string $charset [, bool $double_encode = true ]]] )

  • 해당하는 모든 문자를 HTML엔티티로 변환
  • HTML 문자 엔티티에 존재하는 모든 문자를 엔티티로 변환하는 점을 제외하면 htmlspecialchars()와 완전히 동일
  • 한글 깨짐이 발생하는 경우 htmlspecialchars() 함수를 이용

string nl2br ( string $string [, bool $is_xhtml = true ] )

  • 모든 줄바꿈 앞에 '<br />'이나 <br>을 삽입후 반환 (PHP4, PHP5)


string strip_tags ( string $str [, string $allowable_tags ] )

  • 주어진 str에서 모든 HTML과 PHP 태그를 제거한 문자열을 반환 (PHP4, PHP5)
  • fgetss() 함수와 동일 태그 제거 방식을 가짐
  • allowable_tags에 제거하지 않을 태그 지정 가능하나 HTML주석과 PHP태그는 변경 안됨
  • <a> 태그등으로 링크를 보낼경우를 대비하여 크로스사이트 스크립트 공격을 방지한다

string addslashes ( string $str )


  • 데이터베이스 질의등에서 처리할 필요가 있는 문자 앞에 백슬래시를 붙인 문자열을 반환 (PHP4, PHP5)
  • 따옴표('), 이중따옴표("), 백슬래시(\), NUL(NULL 바이트)을 이스케이프 시킴
  • get_magic_quotes_gpc()로 확인하여 true일 경우 GET, POST, COOKIE 데이터에 자동 이스케이프 된다
  • 따라서, addslashes()를 사용하면 중복 이스케이프가 되니 사용하지 말것

string stripslashes ( string $str )

  • 백슬래시(\) 처리된 문자열을 백슬래시를 제거후 반환 (PHP4, PHP5)
  • get_magic_quotes_gpc() 기능이 활성화되어있는 경우 넘어온 자료를 HTML에 바로 출력하는 경우등에 활용
  • get_magic_quotes_gpc() 함수가 true인경우 이함수를 이용후 mysql_real_escape_string() 함수를 사용

string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )

  • unescaped_string 문자열에서 mysql_query() 실행시 안전한 질의문으로 변환하여 반환한다 (PHP4 >= 4.3.0, PHP5)
  • \x00, \n, \r, \, ', ", \x1a 문자에 백슬래시를 붙인다
  • link_identifier은 연결된 데이터베이스 연결링크를 넘겨주어야 하고, DB가 연결된 상태에서만 함수 이용이 가능
  • 성공시 이스케이프된 문자열을 반환하고, 실패시 FALSE를 반환

string sprintf ( string $format [, mixed $args [, mixed $... ]] )

  • 형식화한 문자열을 반환 (PHP4, PHP5)
  • format 문자열에는 %다음에 나오는 지정어에 따라 인수를 어떤 형으로 취급할지 결정
  • %% - 퍼센트 자체를 출력, %d - 정수 출력, %u - 음수 부호없는 정수 출력, %f - 소수 출력, %s - 문자열 출력
  • 쿼리문 작성시 echo 문으로 바로 작성하는것 보다 sprintf()를 통해 문자열을 만들어 이용하는것이 좋음



※ 로그인 하시면 원본파일을 볼 수 있습니다. ※

0
코멘트 1
  • 슈퍼맨 관리자 2011-06-22 00:16:46

    0

    천단위 출력

    HEREDOC 내에서는 함수처리를 할 수가 없죠 

    HEREDOC 바로 윗줄에다 $list[$i][wr_3]=number_format($list[$i][wr_3]);

    답글달기

자동등록방지 코드
그누보드팁 | 전체게시물 160
안내

포인트안내닫기

  • 글읽기0
  • 글쓰기100
  • 댓글쓰기50
  • 다운로드-500
그누보드팁리스트
번호 제목 글쓴이 날짜 조회 추천
40 텍스트 슈퍼맨 웹스터디 06-22 3993 0
39 텍스트 슈퍼맨 웹스터디 06-22 3526 0
38 텍스트
[PHP]안전한 문자열 출력을 위한 함수들
+1
슈퍼맨 관리자 06-22 5066 0
37 텍스트 슈퍼맨 웹스터디 06-22 4635 0
36 파일첨부 +1 슈퍼맨 웹스터디 06-22 3684 0
35 파일첨부 슈퍼맨 웹스터디 06-22 4512 0
34 텍스트 슈퍼맨 웹스터디 06-22 3799 0
33 파일첨부 링크 슈퍼맨 웹스터디 06-22 6937 0
32 텍스트 슈퍼맨 웹스터디 06-22 3633 0
31 파일첨부 슈퍼맨 웹스터디 06-22 3593 0
30 텍스트 슈퍼맨 웹스터디 06-22 3552 0
29 텍스트 +1 슈퍼맨 웹스터디 06-22 3517 0
28 파일첨부 슈퍼맨 웹스터디 06-22 3637 0
27 텍스트 슈퍼맨 웹스터디 06-22 5634 0
26 텍스트 슈퍼맨 웹스터디 06-21 3383 0
25 텍스트 슈퍼맨 웹스터디 06-21 5695 0
24 텍스트 슈퍼맨 관리자 06-21 3590 0
23 텍스트 슈퍼맨 관리자 06-21 3458 0
22 텍스트 슈퍼맨 관리자 06-21 3431 0
21 텍스트 +1 슈퍼맨 웹스터디 06-21 3979 0