다음 상황을 상상해보십시오.
관리자는 일부 웹샵의 관리자 제어판에 액세스 할 수 있습니다. 그는 카테고리, 제품 등을 생성 할 권한이 있습니다. 그는 제품 유형을 생성 할 권리도 있습니다.
이는 관리자가 제품 유형 생성 공식 자로 일부 페이지를 열고 유형 이름과 몇 가지 유형 속성을 작성한다는 것을 의미합니다.
양식 입력 필드-사용자 입력
제출 후 db에 있는 완전히 새로운 테이블 컴퓨터 가 생성됩니다. 테이블에는 4 개의 열 (스토리지, 그래픽 카드, 프로세서, 운영 시스템)이 있습니다.
내 질문은 : 상점 관리자가 이러한 방식으로 데이터베이스에 테이블을 생성하도록 허용해도 괜찮습니까? 아니면 나쁜 습관입니까?
물론 SQL 주입을 방지하는 고전적인 메커니즘이있을 것입니다.
답변 해 주셔서 감사합니다! 그리고 내 나쁜 영어에 대해 죄송합니다 :)
웹 애플리케이션 사용자에게 테이블 생성과 같이 강력한 권한을 추가하는 것은 일반적으로 나쁜 습관입니다. 저장 프로 시저에서 테이블 생성을 구현 한 다음 프로 시저에 대한 실행 액세스 만 사용자에게 제공하고 더 강력하고 위험한 DDL (데이터 정의 언어) 권한을 부여하지 않습니다.
저장 프로 시저를 사용하여 테이블을 생성하면 비즈니스 규칙으로 테이블 생성을 제한 할 수 있습니다. 예를 들어 테이블 이름에 패턴을 지정하거나 열 수를 제한하거나 생성 할 수있는 테이블 수를 최대화 할 수 있으며 테이블 생성 이벤트를 기록 할 수도 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다