2013-07-31 3 views
1

클래스, 함수 및 내 코드에서 사용하는 전역 변수 $PDO을 작성하려고합니다. 보안 위반이 발생할 수 있습니까?
지금은 매번 별도의 연결을 사용하고 있습니다. 나는 이것을 고수해야하며 아니면 글로벌 PDO 객체를 사용해야합니까?매번 전역 연결 변수 또는 새로운 변수

답변

2

여러 연결을 관리하려는 경우가 있기 때문에 이것은 실제로 응용 프로그램에 따라 다릅니다. 그러나 대부분의 경우 단일 요청을 처리하는 과정에서 단일 연결 만 열어 두는 것이 좋습니다. 이렇게하면 코드 전체에서 연결 열기/닫기의 오버 헤드를 없앨 수 있습니다. 나는 당신이 DB 연결을 그 특정 연결과 관련된 DB 사용 권한을 가져서는 안되는 코드 세트 (아마도 당신이 사용하는 라이브러리 나 서비스 일 것임에 틀림 없다)로 넘겨 줄 계획이 아니라면 대부분의 경우 보안이별로 걱정할 필요가 없다고 생각한다. 통제하지 마라).

대부분의 경우 인스턴스화 된 DB 객체를 전역 코드로 처리하는 대신 코드를 필요로하는 코드로 전달하는 것이 바람직하기 때문에 종속성 주입의 개념을 살펴 보시기 바랍니다. 액세스하려면 global 키워드를 사용하십시오. 이렇게하면 모든 클래스/함수에서 코드를 복제하지 않아도 DB에 연결이 있는지 확인할 수 있습니다. 이 작업을 수행하는 단일 클래스가 있고 필요로하는 클래스에 해당 객체를 전달할 수 있다면 객체가 수행 할 작업을 보장 할 수 있습니다.