>  기사  >  백엔드 개발  >  PHP 함수 연구 노트

PHP 함수 연구 노트

不言
不言원래의
2018-04-17 15:57:091772검색

이 기사에서는 특정 참조 가치가 있는 PHP 함수에 대한 연구 노트를 소개합니다. 이제 도움이 필요한 친구들이 참조할 수 있습니다.

관련 추천 : 잘 알려지지 않았지만 매우 유용한 10가지 PHP 함수
$_SERVER["PHP_SELF"] 슈퍼 전역 변수. 현재 실행 중인 스크립트의 파일 이름을 반환합니다.
htmlspatialchars(var) 특정 문자를 HTML 엔터티로 변환합니다. HTML 또는 JavaScript 코드를 양식에 삽입하여 공격자가 코드를 악용하는 것을 방지합니다(사이트 간 스크립팅 공격).

응용 프로그램: $_SERVER["PHP_SELF"] 변수는 해커에 의해 악용될 수 있습니다. 페이지에서 PHP_SELF를 사용하는 경우 사용자는 밑줄을 입력하고 XSS(교차 사이트 스크립팅)를 실행할 수 있습니다.

팁: XSS(교차 사이트 스크립팅)는 웹 애플리케이션에서 흔히 발생하는 일종의 컴퓨터 보안 취약점입니다. XSS를 사용하면 공격자는 다른 사용자가 탐색하는 웹 페이지에 클라이언트 측 스크립트를 입력할 수 있습니다.

예: test.php 페이지에 양식이 있습니다:

<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">

주소 표시줄이 일반 URL인 경우: hhtp://www.example.com/test.php, 위 코드는 다음으로 변환됩니다:

<form method="post" action="test.php">

http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E에 입력하면 위 코드는 다음으로 변환됩니다:

<form method="post" action="test.php"/><script>alert(&#39;hacked&#39;);</script>

위와 같은 상황을 피하려면 htmlspecialchars() 함수를 사용하세요. 양식 코드:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

이때 http://www.example.com/test.php/%22%3E%3Cscript%3Ealert('hacked')를 입력하세요. %3C/script%3E 위의 코드는 다음과 같이 변환됩니다:

<form method="post" action="test.php/"><script>alert(&#39;hacked&#39;)</script>"
는 악용될 수 없으며 해를 끼칠 수 없습니다.
trim(var) 추가 공백, 탭, 줄바꿈 제거
stripslashes(var) 백슬래시 제거()
$_SERVER["REQUEST_METHOD"]
비어있음( var) 은 변수 에 데이터가 할당되어 있고 비어 있지 않은지 여부를 결정합니다. '', null, false, 00, 0, '0', 정의되지 않음, array() 및 var $var는 모두 true를 반환합니다.
isset(var[,var[,...]]) 변수가 선언되었는지 확인하세요. 정의되지 않은 변수에 대해 true를 반환합니다. 변수를 설정 해제하면 해당 변수가 취소됩니다.
is_null(var) 값, 변수 또는 표현식이 null인지 확인하세요. 정의되지 않은 변수를 전달하면 true가 반환되지만 오류가 보고됩니다!
define(var) 상수가 선언되었는지 확인하세요.

1.Empty와 isset은 먼저 변수가 존재하는지 확인한 다음 변수 값을 감지합니다. 그리고 is_null은 변수 값이 null인지 직접 확인합니다.

2. 빈 입력 매개변수와 isset 입력 매개변수는 변수여야 하며, is_null 입력 매개변수는 반환 값을 가질 수 있는 한 반환 값(상수, 변수, 표현식 등)을 가질 수 있습니다. PHP 매뉴얼에서 분석은 다음과 같습니다: 비어 있고 isset은 함수가 아닌 언어 구조이므로 변수 함수로 호출할 수 없습니다.

preg_match(정규식, 변수) 문자열의 패턴을 검색하고, 패턴이 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
php 함수 정의되지 않은 매개변수 방법

위 내용은 PHP 함수 연구 노트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.