> 백엔드 개발 > PHP 튜토리얼 > PHP 및 Mysql 로그인 기능으로 SQL 삽입 방지

PHP 및 Mysql 로그인 기능으로 SQL 삽입 방지

小云云
풀어 주다: 2023-03-20 14:02:01
원래의
1580명이 탐색했습니다.

최근에 SQL 인젝션에 대해 알아보았더니 많은 분들의 로그인 기능이 사용자가 입력한 사용자 이름과 비밀번호를 동시에 사용하여 SQL 문으로 조합하고, 쿼리에서 로그인 가능 여부를 판단하는 결과가 있는지를 판단하는 것을 발견했습니다. . 예:


  1. <?php  
    $username = $_POST[&#39;username&#39;];  
    $password = $_POST[&#39;password&#39;];  
    $sql = "select * from user where username=&#39;{$username}&#39; and password=&#39;{$password}&#39; ";  
    $this->db->query($sql);
    로그인 후 복사

이렇게 하면 사용자 이름 매개변수에 ' 또는 1=1을 삽입하는 것이 쉽습니다. 이는 단지 예일 뿐이지만 현재 많은 프레임워크가 있습니다. 주의하지 않으면 최종 결합문은 이와 비슷합니다. 여기서는 입력 매개변수 필터링, 매개변수 바인딩, 구문 분석 및 SQL 삽입을 처리하는 기타 일반적인 방법에 대해 이야기하지 않고 판단 방법을 변경할 수 있습니다. 데이터를 입력한 후 PHP를 사용하여 비밀번호가 일치하는지 판단하면 문제가 해결되나요?

관련 추천:

    SQL 인젝션 방지를 위한 10가지 방법 추천

위 내용은 PHP 및 Mysql 로그인 기능으로 SQL 삽입 방지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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