데이터 제출 중 오류를 방지하기 위해 PHP 양식의 CSRF 토큰을 효과적으로 관리하는 방법을 알아보십시오. 단계별 가이드는 개발자의 프로세스를 단순화합니다. ---이 비디오는 https://stackoverflow.com/q/75143606/ 사용자가 'amntago shifeg'(https://stackoverflow.com/u/21007595/)에 대한 질문을 기반으로하며 https://stackoverflow.com/a/7514336/이 제공하는 답변. '스택 오버플로'웹 사이트에서 https://stackoverflow.com/u/8126784/). 이 훌륭한 사용자와 StackexChange 커뮤니티 덕분에 공헌에 감사드립니다. 대체 솔루션, 주제, 주석, 개정 기록 등의 최신 업데이트/개발과 같은 원본 콘텐츠 및 더 자세한 내용은 이러한 링크를 방문하십시오. 예를 들어, 질문의 원본 제목은 다음과 같습니다. CC By-Sa By-Meta.c.help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/help/hleckexchange.com에서 라이센스가있는 CSRF 공격을 피하기 위해 CSRF 공격을 피하기 위해 CSRF가 CSRF 공격을 피하기 위해 양식에서 데이터를 제출할 수 없습니다. 'CC BY-SA 4.0'(https://creativecommons.org/licenses/by-sa/4.0/) 라이센스 및 원본 답변 게시물은 'CC Bysa 4.0'(https://creativecommons.org/by-sa/4.0/) 라이센스에 따라 라이센스가 부여됩니다. 당신에게 어떤 것이 보이면, vlogize [at] gmail [dot] com에서 저를 보내 주시기 바랍니다. --- PHP 양식 제출에서 CSRF 토큰 문제 해결 PHP의 양식에서 데이터를 제출하면 때때로 CSRF (Cross-Site Reques) 공격 (CSRF) 공격과 관련하여 합병증이 발생할 수 있습니다. 많은 개발자들은 양식 제출이 잠재적 인 CSRF 공격으로 잘못 표시 될 때 문제를 겪습니다. 이것은 종종 제출 과정에서 토큰이 생성되고 검증되는 방법에서 비롯됩니다. 이 안내서에서는 CSRF 토큰 관리와 관련된 일반적인 문제를 탐색하고 효과적인 솔루션을 제공 할 것입니다. 보안을위한 CSRF 토큰이 포함 된 양식을 제출하려고 할 때 개발자는 CSRF 공격을 나타내는 오류 메시지와 함께 양식 제출이 실패하는 상황에 직면 할 수 있습니다. 특히 제출이 실제로 합법적 인 경우 이것은 엄청나게 실망 스러울 수 있습니다. 일반적인 시나리오에서 PHP 스크립트는 실제 공격이 발생하지 않더라도 양식 제출을 유효하지 않은 것으로 표시합니다. 주어진 PHP 코드가 포함 된 이러한 시나리오의 예는 다음과 같습니다. [[[이 텍스트 또는 코드 스 니펫을 공개하려면 비디오 참조]] 여기서 주요 문제는 모든 요청에 새 토큰이 생성되어 이전에 생성 된 토큰에 대한 일관되지 않은 검증으로 이어진다는 것입니다. 이로 인해 형태가 유효 할 때에도 거부됩니다. 이 문제를 해결하기위한 솔루션은 CSRF 토큰이 사용자 세션에 지속적으로 저장되고 양식 제출 중에 검증을 위해 재사용되도록해야합니다. 아래에서는 PHP에서 CSRF 토큰 처리를 올바르게 구현하기위한 정제 된 접근 방식을 제공합니다. 1. 토큰 생성 수정 모든 요청에 따라 새로운 CSRF 토큰을 생성하는 대신 먼저 세션에 토큰이 이미 존재하는지 확인합니다. 그것이 존재하지 않으면, 우리는 새로운 것을 생성합니다. 이를 통해 세션과 양식 제출 모두에서 동일한 토큰이 사용됩니다. 업데이트 된 코드 스 니펫 : [[[이 텍스트 또는 코드 스 니펫을 공개하려면 비디오를 참조하십시오]] 2. HTML 양식 입력 업데이트 다음에, 양식의 숨겨진 입력이 올바른 세션 토큰 값을 사용하는지 확인하십시오. 새로 생성 된 토큰을 참조하는 대신 세션에 저장된 토큰을 참조해야합니다. HTML의 올바른 입력 태그는 다음과 같습니다. [[[이 텍스트 또는 코드 스 니펫을 공개하려면 비디오 참조]] 3. 요약 이러한 변경 사항을 채택하여 CSRF 토큰 관리가 신뢰할 수 있고 합법적 인 양식 제출이 잘못 차단되지 않도록하십시오. 주요 테이크 아웃은 다음과 같습니다. 토큰 초기화 : 불필요하게 새로운 토큰을 생성하지 않도록 세션에서 기존 토큰을 확인하십시오. 유효성 검사 일관성 : 세션에 저장된 값에 대해 항상 토큰을 검증하십시오. 토큰 재생 : 보안을 강화하기 위해 성공적인 제출 후 토큰 재생을 고려하십시오. 이러한 조정을 통해 CSRF 공격으로부터 양식을 보호하면서 원활하고 오류가없는 제출물을 보장 할 수 있습니다. 논의한 내용을 적용하면 PHP 양식의 신뢰성과 보안을 크게 향상시킬 수 있습니다. 행복한 코딩!