저는 역할이있는 일부 PHP 페이지를 보호하려고합니다. 사람들이 로그인을 할 때 코드를 사용하고 있지만 링크를 알고 로그인을하지 않으면 페이지에 액세스 할 수 있으며 이유를 이해할 수 없습니다.php 페이지는 롤스로 보호되지만 다른 손님은 보호하지 않습니다.
아무도 도와 줄 수 있습니까?
"admin"역할의 사용자 만 액세스 할 수있는 페이지를 보호하려면이 코드를 사용하고 있습니다.
<?php
// Initialize the session
session_start();
// If session variable is not set it will redirect to login page
if(isset($_SESSION['username'])){if ($_SESSION['role']=='admin') {
} else {
header('location: index.php');
}
}
?>
** 경고 ** : 자신의 액세스 제어 층을 쓰는 것은 쉬운 일이 아닙니다 그것은 심각한 오해 할 수있는 많은 기회가 있습니다. [Laravel] (http://laravel.com/)과 같은 최신 [개발 프레임 워크] (http://codegeekz.com/best-php-frameworks-for-developers/)가있을 때 자신의 인증 시스템을 작성하지 마십시오. 강력한 [인증 시스템] (https://laravel.com/docs/master/authentication)이 내장되어 있습니다. 절대 최소한 [권장 보안 베스트 프랙티스] (http://www.phptherightway.com/#security)를 준수하고 ** 비밀번호를 일반 텍스트 **로 저장하지 마십시오. – tadman
** ALL ** laravel을 사용하십시오! 그럼 아무것도 배우지 않아. –
예 Laravel은 미들웨어를 통해 이것을 관리하는 것이 훨씬 낫습니다. 다음 프로젝트 나 현재 프로젝트에서도 이것을 고려하십시오. –