2010-03-30 5 views
2

안녕하세요 여러분, 제가 관리 페이지에 관리자가 있는지 확인한 후 쿼리를 제출하기 전에 관리자가 아닌 경우 인덱스 페이지의 헤더가 포함되어 있지만 페이지 보호에 대해 걱정하고 있습니다. 누군가가 내 데이터베이스를 파괴 할 수 있다고 걱정됩니다. 아무도 이런 식으로 페이지를 보호하기 위해 어떤 권고안을 가지고 있지 않습니까? phpmyadmin을 통해 수동으로 데이터베이스를 관리하고 함께 페이지를 모두 삭제해야합니까? 관리자 값은 데이터베이스에 저장되고 웹 사이트는 관리자 섹션이하는 것이 오히려 일반적입니다,하지만 당신은 모든 페이지에 있는지 확인해야합니까 ADMIN_LEVEL데이터베이스를 관리 할 수있는 관리 페이지를 유지하는 것은 위험합니까?

+0

호기심에서 현재 사용자가 관리자인지 확인하기 위해 어떤 코드를 사용 했습니까? 나는 Slokun에 동의하지만, 이유는 PHPmyAdmin이 있습니다. 원한다면 SequelPro http://www.sequelpro.com/와 같은 것을 얻을 수 있습니다. DB를 데스크탑에서 관리 할 수 ​​있습니다. 앱 인터페이스가 마음에 들지만 다른 옵션이 있습니다. – dscher

+0

나는 귀하의 조언을 위해 – Scarface

답변

3

을 대표한다

function isAdmin(){ 
     return ($this->userlevel == ADMIN_LEVEL || 
       $this->username == ADMIN_NAME); 
    } 

if(!$session->isAdmin()){ 
     header("Location: ../index.php"); 
     return; 
     } 

예, 무엇이든 삽입, 제거 등 사용자가 관리자, 당신이하고있는 일을하기 전에.

그러나 명시 적 SQL 문을 입력하고이를 실행할 수있는 페이지를 갖는 것은 좋은 생각이 아닙니다. 당신은 너무 쉽게 뭔가 잘못 입력 할 수 있으며, 뭔가 잘못되면 큰 보안 구멍이 생깁니다. 설치 프로그램에 따라 시스템 관리자 수준 명령에보다 쉽게 ​​액세스 할 수 있습니다.

혼란스러운 일은 말할 것도 없습니다.

직접적인 SQL 쿼리가 phpMyAdmin을 사용하는 이유입니다. 관리자 섹션은 일반적으로 일반 사용자를위한 웹 사이트와 마찬가지로 데이터의 GUI 프론트 엔드를 목표로하지만 더 많은 기능을 갖추고 있습니다. 모든 사용자를 나열하고 제어 된 양식을 통해 사용자의 데이터를 편집 한 다음 단추로 업데이트하거나 삭제할 수 있습니다.

+0

이상의 사례를 게시했습니다. 이 페이지는 주제를 삭제하고 사용자를 차단하는 GUI 일뿐입니다. – Scarface

1

나에게 잘 보호되는 소리. 귀하의 구성을 그대로두고 phpMyAdmin을 실행하는 dev pc가 아닌 귀하의 사이트를 해킹 할 가능성이 더 높거나 쉽게 있습니까? 아마도 훨씬 더 가능성이 높습니다. 네가 모든 일을 제대로 한 것처럼 들린다. 만약 당신이 아직도 db 위험의면에서 무해한 명령문을 선택하도록 SQL의 실행을 제한 할 수 있다고 걱정된다면.

+0

입력 한 사람에게 감사드립니다. 감사합니다. 나는 지금 조금 더 좋아 보인다. – Scarface

관련 문제