나는 학교에서 프로젝트를하고 있는데, 세션없이 poeple이 사이트에 들어오는 것을 막을 수있는 간단한 방법을 알아야합니다. 나는 모든 페이지에 코드를 붙여 넣는 데 시간을 썼다고 믿지 않는 페이지가 많다. 또한 나는 모든 페이지 PHP 덕분에 포함 된 메뉴 막대, 그래서 내가 코드없이 왓지 유형의 세션없이 사용자를 차단하는 메뉴에 넣어야 궁금 해서요. 나머지 콘텐츠 코드는 숨기고 싶은 페이지에 있습니다. 나는 당신이 URL을 타이핑하여 로그인 할 수 있고 로그인 한 사용자를위한 숨겨진 페이지를 볼 수 있다고 믿는다.로그인이 필요한 곳에 숨겨진 페이지에 액세스하는 사람들을 막는 방법은 무엇입니까?
답변
세션을 사용하지 않으려면 쿠키를 사용하십시오.
<?php
/*Just add this piece of PHP code to top of any page you
don't want not-logged in users to see */
if (!isset($_COOKIE['logged']))
header("Location: login.php"); //It redirects the user to your login page
?>
<html>
<body>
...
</body>
</html>
로그인 페이지는 다음과 같이 할 수있다 :
이<?php
if (isset($_COOKIE['logged']))
header("home.php");
if ($_POST['submit']) {
//get username and password
$uname = $_POST['uname'];
$pass = $_POST['password'];
if ($uname=="correct" && $pass=="correct"){ //EDIT
setcookie('logged','1');
header("Location: home.php"); //Redirect to home page
}
else echo "Wrong combinaton!";
}
?>
<html>
<body>
<form action="login.php" method="post">
<label>Username</label><input type="text" name="uname" /><br />
<label>Password</label><input type="password" name="pass" /><br />
<input type="submit" name="submit" value="Login" />
</form>
</body>
</html>
이 세션을 통해 어떤 일을 할 수있는 방법이 있습니까? –
모든 질문에 감사합니다. –
예. 그것은 간단합니다. 사용자 이름과 패스워드를 확인한 후에'session_start();'세션 쓰기를 시작한 다음 세션 변수를'$ _SESSION [ 'logged'] = 1'로 설정합니다. 그리고 쿠키를 검사하는 대신 세션 변수가 설정되어 있는지 확인하십시오. 'session_start(); if (isset ($ _ SESSION [ 'logged'])) ...'. –
일반 쿠키를 사용하지 마십시오. 세션은 갈 길입니다. 또는 세션을 사용할 수없고 쿠키를 사용해야하는 경우 먼저 쿠키에 서명하여 응용 프로그램이 실제로 쿠키를 설정했는지 확인할 수 있습니다.
<?php
session_start();
if (!isset($_SESSION['authenticated'])) {
header('Location: login.php');
exit;
}
... whatever logged in users should see ..
- 1. 로그인이 필요한 클래스에서 함수를 호출하는 방법은 무엇입니까?
- 2. 아약스 양식 스팸으로부터 사람들을 막는 방법
- 3. Spring 보안에서 로그인이 필요한 경우 세션에 메시지를 추가하는 방법은 무엇입니까?
- 4. 로그인이 필요한 페이지의 file_get_contents
- 5. 로그인이 필요한 앱을 제출하는 방법
- 6. 로그인 한 후 다른 PHP 페이지에 액세스하는 방법은 무엇입니까?
- 7. 로그인이 필요한 비누 서비스 메타 데이터를 얻는 방법은 무엇입니까?
- 8. 자바 - 로그인이 필요한 웹 사이트에서 데이터 읽기
- 9. IP별로 웹 페이지에 액세스하는 방법은 무엇입니까?
- 10. 웹 페이지에서 두 번 엄지 손가락을 포기하는 사람들을 막는 방법
- 11. 로그인이 필요없는 페이지에 로그인하는 방법
- 12. CSS는 내가 필요한 곳에 정렬하지 않습니다.
- 13. 줄 바꿈이 필요한 곳에 전자 메일이 전송되는 이유는 무엇입니까?
- 14. 로그인이 활성화되었는지 확인하는 방법은 무엇입니까?
- 15. 페이지에 숨겨진 div 표시
- 16. Maven이 원격 저장소에 액세스하는 것을 막는 방법?
- 17. PHP에서 htaccess없이 디렉토리에 액세스하는 것을 막는 방법
- 18. 비활성/숨겨진 "도구 창"의 명령을 액세스하는 방법은 무엇입니까?
- 19. 이름없는 네임 스페이스에서 숨겨진 템플릿에 액세스하는 방법은 무엇입니까?
- 20. 필요한 경우에만 동적 JS 페이지에 필요할 때만 렌더링해야합니다.
- 21. 로그인이 필요한 nodejs를 사용하는 페이지를 얻는 방법
- 22. 로그인이 필요한 웹 사이트의 웹 요청
- 23. 로그인이 필요한 Powershell 스크립트 모니터 웹 사이트?
- 24. Android - 로그인이 필요한 페이지의 소스 코드 얻기
- 25. 레일즈 3. 사람들을 모델링하는 방법은 무엇입니까?
- 26. Drupal 7에서 사람들을 내보내는 방법은 무엇입니까?
- 27. 여러 카메라의 사람들을 추적하는 방법은 무엇입니까?
- 28. JSON 파일에서 사람들을 계산하는 방법은 무엇입니까?
- 29. 인증이 필요한 사이트에서 직접 자산에 액세스하는 것을 방지하는 방법은 무엇입니까?
- 30. 구조체에 액세스하는 동안 기본값이 필요한 이유는 무엇입니까?
사용자가 세션 변수로 로그인했는지 기억하십시오. 모든 웹 페이지의 시작 부분에서이 변수를 확인하십시오. 설정되어 있지 않으면 로그인 페이지로 리디렉션하십시오. –
글쎄, 나는 모든 페이지에 대한 링크 인 내 메뉴 바에 넣어두면, 여전히 로그인 할 필요없이 사람들이 웹 사이트에 접속하는 것을 막을 수 있다는 것을 –
가능한 복제본이라고 이해한다. (http://stackoverflow.com/questions/14426059/no-to-stop-people-from-to-logged-without-web-in-logged-in) –