PHP_php 스킬 중 잘 알려지지 않은 8가지 보안 기능 분석
이 글에서는 잘 알려지지 않은 PHP의 8가지 보안 기능을 예시와 함께 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
보안은 프로그래밍에서 매우 중요한 측면입니다. 모든 프로그래밍 언어에는 프로그램의 안전을 보장하기 위해 많은 기능이나 모듈이 제공됩니다. 최신 웹사이트 애플리케이션에서는 전 세계 사용자로부터 입력을 받아야 하는 경우가 많지만 "해당 사용자가 입력한 데이터는 결코 신뢰할 수 없다"는 사실을 우리 모두 알고 있습니다. 따라서 다양한 웹 개발 언어에는 사용자가 입력한 데이터의 보안을 보장하기 위한 기능이 제공됩니다. 여기서는 유명한 오픈 소스 언어인 PHP의 유용한 보안 기능을 살펴보겠습니다.
PHP에는 몇 가지 유용한 기능이 오픈 소스로 공개되어 있어 SQL 주입 공격, XSS(Cross Site Scripting) 공격 등 다양한 공격으로부터 웹사이트를 보호하는 데 매우 편리합니다. 프로젝트 보안을 보장하기 위해 PHP에서 일반적으로 사용되는 기능을 살펴보겠습니다. 이것은 전체 목록이 아니며 귀하의 i 프로젝트에 유용할 것으로 생각되는 일부 기능일 뿐입니다.
1.mysql_real_escape_string()
이 기능은 PHP에서 SQL 주입 공격을 방지하는 데 매우 유용합니다. 이 함수는 작은따옴표, 큰따옴표, 백슬래시 등과 같은 일부 특수 문자에 백슬래시를 추가하여 이 데이터를 쿼리하기 전에 사용자가 제공한 입력이 깨끗한지 확인합니다. 단, 이 기능은 데이터베이스에 연결한다는 전제 하에 사용하고 있다는 점을 참고하시기 바랍니다.
그러나 mysql_real_escape_string()을 사용하는 것은 더 이상 권장되지 않습니다. 모든 새로운 애플리케이션은 데이터베이스 작업을 수행하기 위해 PDO와 같은 함수 라이브러리를 사용해야 합니다. 즉, SQL 주입 공격을 방지하기 위해 이미 만들어진 명령문을 사용할 수 있습니다.
2. 속눈썹 추가()
이 함수의 원리는 mysql_real_escape_string()과 유사합니다. 단, php.ini 파일에서 "magic_quotes_gpc" 값이 "on"인 경우에는 이 기능을 사용하지 마세요. Magic_quotes_gpc의 기본값은 on이며, 이는 모든 GET, POST 및 COOKIE 데이터에 대해 자동으로 addlashes()를 실행합니다. Magic_quotes_gpc에 의해 이스케이프된 문자열에는 addlashes()를 사용하지 마십시오. 이렇게 하면 이중 이스케이프가 발생하게 됩니다. get_magic_quotes_gpc() 함수를 사용하여 활성화 여부를 확인할 수 있습니다.
3.htmlentities()
이 기능은 사용자가 입력한 데이터를 필터링하는 데 매우 유용합니다. 일부 특수 문자를 HTML 엔터티로 변환합니다. 예를 들어, 사용자가 <를 입력하면 이 함수에 의해 HTML 엔터티(<)로 변환되고, 사용자가 >를 입력하면 엔터티>로 변환됩니다.
4.htmlspecialchars()
HTML에서 일부 특정 문자는 특별한 의미를 갖습니다. 문자의 원래 의미를 유지하려면 해당 문자를 HTML 엔터티로 변환해야 합니다. 이 함수는 변환된 문자열을 반환합니다. 예를 들어 '&'(앰퍼샌드)는 '&'
로 변환됩니다.ps: 원문에 오류가 있습니다. 올려주신 유진님께 진심으로 감사드립니다. 수정되었으며 이 기능에 대한 일반적인 변환 문자도 첨부됩니다:
수행된 번역은 다음과 같습니다.
'&'(앰퍼샌드)는 '&'가 됩니다
ENT_NOQUOTES가 설정되지 않은 경우 '"'(큰따옴표)는 '"'가 됩니다.
"'"(작은따옴표)는 ENT_QUOTES가 설정된 경우에만 '''(또는 ')가 됩니다.
'<'(보다 작음)은 '<'
이 됩니다.
'>'(보다 큼)은 '>'
5.strip_tags()
이 함수는 문자열에서 모든 HTML, JavaScript 및 PHP 태그를 제거할 수 있습니다. 물론 함수의 두 번째 매개변수를 설정하여 일부 특정 태그가 표시되도록 할 수도 있습니다.
6.md5()
보안 관점에서 일부 개발자가 간단한 비밀번호를 데이터베이스에 저장하는 행위는 권장되지 않습니다. md5() 함수는 주어진 문자열의 32자 md5 해시를 생성할 수 있으며 이 프로세스는 되돌릴 수 없습니다. 즉, md5()의 결과에서 원래 문자열을 가져올 수 없습니다.
현재 이 기능은 오픈 소스 데이터베이스가 해시 값의 일반 텍스트를 역검사할 수 있기 때문에 안전한 것으로 간주되지 않습니다. 여기에서 MD5 해시 데이터베이스 목록을 찾을 수 있습니다
7.sha1()
이 함수는 md5()와 유사하지만 다른 알고리즘을 사용하여 40자 SHA-1 해시를 생성합니다(md5는 32자 해시를 생성합니다). 절대적인 안전을 위해 이 기능에 의존하지 마십시오. 그렇지 않으면 예상치 못한 결과가 발생할 수 있습니다.
8. intval()
아직 웃지 마세요. 이 기능은 보안과 관련이 없다는 것을 알고 있습니다. intval() 함수는 변수를 정수 유형으로 변환합니다. 특히 ID 및 연령과 같은 데이터를 구문 분석할 때 PHP 코드를 더욱 안전하게 만들 수 있습니다.
여기에 원본 영어 주소가 첨부되어 있습니다: http://www.pixelstech.net/article/1300722997-Useful-functions-to-provide-secure-PHP-application
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP에서 데이터베이스 작업은 매우 쉽습니다. 이번 장에서는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 이해하겠습니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu
