'문자열'에 해당되는 글 2건

  1. 2010.08.12 입력값 유효성 검사 문자들 (1)
  2. 2009.05.22 PHP 문자열 관련 함수 (1)
2010. 8. 12. 14:43

입력값 유효성 검사 문자들

728x90

개발 진행시 부주의로 인해 불필요한 문자를 허용하고 있다. 문자와 응용 프로그램에 전달되는 의미를 다룬다.

문자 세부사항
NULL or null 종종 웹 응용 프로그램으로 흥미있는 오류 메시지를 볼 수 있다. PL/SQL 경우 확인할 수 있다.
( ', ";, <!) SQL, XPath 그리고 XML Injection 테스트에 사용되는 SQL 문자열 또는 쿼리에 사용된다.
(-, =, +, ") 고급 SQL Injection 쿼리에 사용된다.
( ', &,! , |, <,>) 명령 실행 취약성을 발견하는 데 사용된다.
"><script>alert(1)</script> 기본적인 Cross-Site Scripting 점검에 사용된다.
{%0d , %0a} Carriage Return Line Feed (새줄); 모든 특수 기능.
{%7f , %ff} 바이트 길이 오버플로우, 최대 7-8 비트 값.
{-1, other} 정수 및 언더플로우 취약점.
Ax1024 + 오버플로우 취약점.
{%n , %x , %s} 포맷 스트링 취약점.
.. / 디렉토리 탐색 취약점.
(%, _, *) 와일드카드 문자는 가끔 DoS 문제 또는 정보의 공개를 표시할 수 있다.


이러한 문자는 다양한 방법(즉, 유니코드)으로 표현할 수 있다. 이러한 문자 집합에 입력을 제한할 때 이해하는 것이 중요합니다.


Trackback 0 Comment 1
  1. 2010.08.12 14:44 address edit & del reply

    비밀댓글입니다

2009. 5. 22. 17:23

PHP 문자열 관련 함수

728x90

<?

echo "문자열 개수출력(strlen)<br>";
$str = "abcds";
$result = strlen($str);
echo "출력 문자 : $str<br>";
echo "문자 개수 : $result<br>";
$str = "가";
echo "출력 문자 : $str<br>";
echo "문자 개수 : ".strlen("가")."<br><br>";

echo "문자열 뒤집기(strrev)<br>";
$str = "abcedf";
echo "원래문자열 : $str<br>";
$result = strrev($str);
echo "바뀐문자열 : $result<br><br>";

echo "두개의 문자열 비교(strcmp)<br>";
$str1 = "abcde";
$str2 = "abcde";
echo "str1=$str1, str2=$str2<br>";
echo "두 문자열이 같으면 :".strcmp($str1,$str2)."반환<br>";
$str1 = "abced";
$str2 = "abcde";
echo "str1=$str1, str2=$str2<br>";
echo "두 문자열이 다르면 :".strcmp($str1,$str2)."반환<br><br>";

echo "대문자로 바꾸기(strtoupper)<br>";
$str = "abcde";
echo "초기 문자 : $str<br>";
$str = strtoupper($str);
echo "변환된 문자 : $str<br><br>";

echo "문자열의 공백 제거(ltrim, chop, trim)<br>";
//회원ID나 암호 등을 입력 받는 부분에서 양쪽의 공백이
//잘못 입력되는 것을 방지하기 위한 방법 등에 사용
echo "ltrim(문자열) : 문자열의 시작과 공백 제거<br>";
echo "chop(문자열) : 문자열의 끝 공백 제거<br>";
echo "trim(문자열) : 문자열의 시작과 끝 공백 제거<br>";
echo "<예제><br>";
$str = "   abcde";
echo "시작공백 : $str<br>";
echo "공백제거 : ".ltrim($str)."<br><br>";

echo "ASCII 코드 관련 함수(chr,ord)<br>";
echo "chr(ASCII번호)<br>";
$str = 97;
echo "$str = ".chr($str)."<br>";
echo "ord(문자)<br>";
echo "A = ".ord("A")."<br><br>";

echo "\\n을 /<br/>로 변환(nl2br)<br>";
echo "
<form method=post action=$_SERVER[PHP_SELF]>
<textarea name=memo cols=30 rows=5></textarea>
<input type=submit value=확인>
</form>";
echo strip_tags(nl2br($HTTP_POST_VARS[memo]));
echo "<br>문자열의 태그를 그대로 출력<br>";
echo "htmlspecialchars(문자열)<br>";
echo htmlspecialchars($HTTP_POST_VARS[memo]);

echo "<br><br>";
echo "문자열 추출하기 substr(문자열,시작위치,길이)<br>";

$str = "abcde";
echo "str = $str<br>";
$result = substr($str,1,2);
echo "result = $result<br><br>";

echo "문자열 찾기 strstr(문자열,찾을문자열)<br>";
$str="PHP is Professional HTML Preprocessor";
echo "문자열 : $str<br>";
$result = strstr($str, "Pr");
echo "찾은문자열 : $result<br><br>";

echo "문자열 치환 str_replace(치한할문자,치환될문자,대상문자열)<br>";
$str = "abcde";
echo "str = $str<br>";
$result = str_replace("c","C",$str);
echo "치환된 문자 : $result <br><br>";

?>


Trackback 0 Comment 1
  1. 김수 2016.06.10 10:41 address edit & del reply

    잘보고가요