PHP 바이너리 보안이란 무엇을 의미합니까?

WBOY
풀어 주다: 2016-08-08 09:20:38
원래의
1458명이 탐색했습니다.

PHP에는 문자열이라는 개념이 있습니다.
문자열에서 각 문자의 크기는 바이트입니다(PHP와 비교하면 Java의 각 문자는 UTF8 문자인 Character이고 C 언어의 각 문자는 컴파일 타임에 선택할 수 있습니다). .
바이트에는 ABC, 123, abc 등의 ASCII 코드 문자와 캐리지 리턴, 백스페이스 등 일부 특수 문자가 있습니다.
표시할 수 없는 특수문자가 많습니다. 즉, 표시 방법에 대한 표준이 없습니다. 예를 들어 문자 A는 코드 65에서 코드 97까지 어디에나 있습니다. 어떤 곳에서는 앞의 문자가 실제로 대체되어 기호로 표시됩니다. 한 문자가 반환됩니다.
PHP는 C를 기반으로 하기 때문에 C와 비교하는 설명이 많습니다. C 문자열에서 고전적인 정의는 문자열을 코드 0으로 끝내는 것입니다. 따라서 이러한 문자열을 가정하면 그 안에 있는 세 문자의 인코딩은 각각 97, 0, 97입니다. 그러면 C에 str_replace에 해당하는 함수가 있고 이를 사용하여 97을 98로 바꾸면 이 함수가 0을 읽으면 끝난 것으로 간주되어 98,0,97을 얻게 됩니다. 따라서 PHP의 str_replace는 바이너리 안전하므로 이 0은 특수 끝 기호로 간주되지 않으므로 결과는 98, 0, 98입니다.
[바이너리 보안] PHP 문서에서 이는 기본적으로 다음을 의미합니다. C 언어에서 유사한 기능을 가진 함수는 일부 문자를 특별하게 처리하는 반면 PHP의 이 함수는 모든 문자를 동일하게 처리합니다. 처리에 영향을 미치는 특수 문자에 대해 걱정하지 마십시오. 특히 0 문자 인코딩에 대해 걱정하지 마십시오.

위에서는 PHP 바이너리 보안의 의미를 그 측면을 포함하여 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿