Нужно заблокировать всех, кроме меня, в моем файле PHP

Мне нужно заблокировать всех, кроме меня, в моем файле PHP. Я не могу дать вам ссылку на него, потому что он засекречен и содержит важную информацию.

У меня есть файл PHP, и я должен быть единственным человеком, который сможет получить доступ к URL-адресу и просмотреть его. Я также хочу, чтобы страница 404 появлялась для других людей, которые пытаются перейти по URL-адресу.

Мой сайт http://www.unfedzombie.tk/ - очень скоро у меня будет хороший хостинг! Если вы зайдете на мой сайт, вы автоматически перейдете на заблокированную страницу, чтобы проверить мой сайт, тогда, на самом деле, в этом нет необходимости, у меня пока не так много на нем


person Community    schedule 20.02.2014    source источник


Ответы (4)



<?php
session_start();

if(isset($_SESSION['allowed'])){

//Whole page code here


} else {
header('Location: YOUR 404 PAGE LINK HERE') ;
}

Примените этот код к странице с ограниченным доступом

& создайте новый файл php для аутентификации себя и поместите этот код

<?php
if(isset($_POST['password'])  && $_POST['password'] == 'YOUR_DESIRED_PASSWORD'){
$_SESSION['allowed'] = true;
header('Location: YOUR_BLOCKED_PAGE_URL_HERE') ;
}
?>
<center><form method="post" action="">Password : <input type="password" name="password"><input type="submit" value="Submit"/></form></center>

Надеюсь, ты хотел того же

person Ankit Pise    schedule 20.02.2014
comment
Нет, я сделал все, и я получаю ошибку анализа синтаксиса на странице, которую я хочу заблокировать, я сделал страницу аутентификации, но она все еще не работает - person ; 21.02.2014
comment
Он говорит Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный '‹' - person ; 21.02.2014
comment
Я получаю сообщение об ошибке в самом начале кодирования моей страницы (html) - person ; 21.02.2014
comment
лол, я просто отказался от этого, если честно, меня это просто бесит, но у меня есть новый вопрос, попробуй ответить на него, если сможешь, спасибо - person ; 21.02.2014
comment
@Ankit: +1, хотя нет необходимости в echo HTML. Просто выйдите из режима PHP, а затем используйте HTML в обычном режиме — намного читабельнее! - person halfer; 21.02.2014

Самый простой способ — отключить Apache.

Однако, если вам нужен доступ к нему через Интернет, я предлагаю вам реализовать форму пароля в другом файле php/html, которая устанавливает переменную $_SESSION ("доступ"?), когда вы вводите пароль правильно, а затем перенаправляет на ваш файл PHP . В вашем файле PHP используйте 'if (isset($_SESSION["access"]))' перед отображением остальной части страницы. Если он не установлен, просто используйте 'header("HTTP/1.0 404 Not Found"); выход;' для отображения страницы 404 пользователю.

person ScottyB    schedule 20.02.2014

См. этот вопрос, чтобы узнать, как сделать заголовок 404. .

Затем, чтобы показать это всем, но вы найдете свой IP-адрес, погуглив «какой мой ip», а затем ваш PHP отклонит всех, кто не является этим адресом, заменив 255.255.255.255 вашим IP-адресом ниже

 if ($_SERVER['REMOTE_ADDR'] != '255.255.255.255'){/*INSERT 404 REDIRECT CODE*/ die();}

Вам придется обновлять свой код всякий раз, когда ваш интернет-провайдер меняет ваш IP-адрес, если у вас нет статического адреса.

Технически этого достаточно, чтобы сделать то, что вы просили, но для полной безопасности вам следует поискать в Интернете, как создать систему аутентификации пользователей PHP с сеансами для полной защиты ваших данных. Это ОЧЕНЬ хорошо задокументированная тема на этом форуме и в бесчисленном количестве других мест в Интернете, поэтому я не буду вдаваться в нее, но, выполнив вышеизложенное, вы можете заставить PHP показывать только ВАМ форму входа и перенаправлять всех остальных на страницу ошибки 404.

person B Rad C    schedule 20.02.2014
comment
IP-адреса могут быть подделаны, IP-адреса могут использоваться совместно, это плохая идея. - person ; 20.02.2014
comment
Вот почему я рекомендовал также использовать сеансы (сеансы + ограничения по IP) › (сеансы + без ограничений по IP) - person B Rad C; 20.02.2014