Своя страница ошибки 403

Веб разработка » Веб-технологии

(Всего: 19 514, сегодня: 2 )

eror 403 - Свои страницы для ошибок 403 и 404

Выше показан пример стандартной обработки 403-й ошибки браузером, которая означает, что доступ в определенную директорию сайта заблокирован через http-запрос, а 404-я ошибка выглядит еще более скудной.

eror 404 - Свои страницы для ошибок 403 и 404

В большинство CMS встроены варианты перенаправления посетителей в случае отсутствия страниц или запрета доступа к ним. Вот на этом сайте к примеру такой вариант:

err0r 403 404 dle dase - Свои страницы для ошибок 403 и 404

Довольно забавно и самое главное — посетитель остается на сайте, не на отдельной, специально разработанной для таких ошибок странице, а именно внутри сайта.

Я когда то заинтересовался данными редиректами и освоил эту систему. у меня был статический сайт на php-каркасе(футер,хэдр). Вот такая же ошибка на моем тестовом сайтике на локальном сервере:

error 404 php htaccess - Свои страницы для ошибок 403 и 404

Для 404–й такая же, но по другому правилу редиректа и с другим текстом для 403-й ошибки!

Htaccess

Создать файл .htaccess (точка впереди обязательна и никакого формата. Точка и хтацес)

create htaccess file - Свои страницы для ошибок 403 и 404

Открыть блокнотом и написать две строчки:

ErrorDocument 403 http://art.test1.ru/error403.php
ErrorDocument 404 http://art.test1.ru/error404.php

Заменить адрес сайта на свои и адреса страниц также на свои

Страницы ошибок

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

  John Mwaniki /   23 Aug 2021

There will be some scenarios where web visitors will be served with error messages when trying to access certain pages or files on your website.

Such scenarios include:

403 Forbidden

This response means the web visitor does not have the necessary permission to access the page they are trying to access, so the server is rejecting to give a proper response.

Default 403 error page

404 Page Not Found

This response is the most famous due to the frequency of its occurrence. It means that the requested page or resource could not be found on the server. This could be due to visitors trying to access a web page that doesn’t exist, using of incorrect page URL, or the change of page name.

Default 404 error page

500 Internal Server Error

This occurs when the server has encountered an error it doesn’t know how to handle while trying to serve the user the requested page.

Default 500 error page

503 Service Unavailable

The server cannot handle the request (because it is overloaded or down for maintenance). Generally, this is a temporary state.

There are many other error responses that visitors may see but the above are the most common and all that you will need to create.

As you can see from all the above screenshots, the default pages are not attractive at all. They also do not give your web visitors any option but to leave your website.

I bet you don’t want to send your visitors away when they try accessing a page on your site and it isn’t available at the moment.

Examples of Great Error Pages

Below are examples of well-designed error pages, from which you can gain some inspiration while designing yours:

403 Forbidden

Custom 403 error page

 

404 Page Not Found

Example 1: Joe Bidens’ website

Joe Biden's website 403 error page

Example 2: Donald Trump’s Website

Donald Trump's website 404 error page

Example 3: Virgin Group Website

Virgin Group website 404 error page

Example 4: Whitehouse.gov Website

Whitehouse.gov website 404 error page

Example 5: BBC News Website

BBC News website 404 error page

Example 6: CNN News Website

CNN News website 404 error page

Example 7: Apple Website

Apple website 404 error page

Example 8: Microsoft Website

Microsoft website 404 error page

500 Internal Server Error

Custom 500 error page

503 Service Unavailable

Custom 503 error page

How to create your website custom error pages

It is a great idea to create your own well-designed error pages that are more user-friendly, conveys your brand identity, and gives your visitors more options just like in the above examples.

A good error page should be able to explain to the visitors what happened and give them the ability to navigate to other pages.

You design error pages just like any other page on your website and place the pages anywhere you would like, then instruct the server to load the respective page when a user gets an HTTP error.

To instruct the server you will just need to write some commands in the .htaccess file using the format below.

ErrorDocument errorCode /pagename

Example:

If your error pages are namely: error403.html, 404.php, error_500.html, 503error.html. You can name the error pages however you want.

You write these commands in .htaccess file:

ErrorDocument 403 /error403.html
ErrorDocument 404 /404.php
ErrorDocument 500 /error_500.html
ErrorDocument 503 /503error.html

Include the file paths if the error pages are not in the root directory(ie. public_html).

Eg. if your error page namely 404.html is located in public_html/error/404.html, use:

ErrorDocument 404 /error/404.html

Conclusion

Website visitors will occasionally be served with error responses when they try to access various resources on your website such as web pages or files. The default error pages are unfriendly and usually sends away visitors from your website.

It’s a good idea to have your own custom error pages.

In this article, you have learned how you can make your own error pages for your website.

5

19

Все уже наверно сталкивались с ситуацией, когда при посещении какого-либо сайта выскакивает надпись
Forbidden You don’t have permission to access on this server и нужный сайт не загружается.

Данная ситуация возможна в том случае, если Вы пытаетесь обратиться к ресурсам сайта, доступ к которым запрещен,
либо Ваш IP адрес был забанен на данном сайте. В данном случае код ответа сервера будет равен 403. Проще говоря, сервер возвращает
ошибку 403 (или страничку 403).

В данной теме мы предлагаем Вам создать свою собственную страничку 403 для отслеживания активности заблокированных
IP адресов и IP адресов, пытающихся обратиться к ресурсам, доступ к которым закрыт.

Своя собственная страничка 403 может быть полезна для тех, кто хочет знать, прекратились ли обращения к
страницам сайта с забаненных IP адресов или нет, и кто пытается получить доступ к файлам с ограниченным доступом.

Для начала, давайте посмотрим, как выглядит исходный код странички, которая появляется при попытке доступа к
файлу .htacces:

HTML код:

<!DOCTYPE html>
<
html lang="en"><head>
<
title>403 Forbidden</title>
</
head><body>
<
h1>Forbidden</h1>
<
p>You don't have permission to access /.htacces on this server.</p>
</body></html>

Для создания своей собственной странички 403, создайте файл (например, error403.php). Внутрь данного файла поместите выше
приведенный HTML код с сообщением, после которого добавьте PHP код, который будет писать логи:

PHP код:

<?php
if (filesize("logs_403.txt")<99999) {
 
$fh=fopen("logs_403.txt","a+");
 
flock($fh,LOCK_EX);
 
fseek($fh,0);
 while (!
feof($fh)) $str.=fread($fh,8192);
 
$str.=date("H:i:s d m Y")." | ".htmlspecialchars($_SERVER['REMOTE_ADDR']." | ".
 
$_SERVER['HTTP_USER_AGENT']." | ".$_SERVER['REQUEST_URI']."\r\n");
 
ftruncate($fh,0);
 
fwrite($fh,$str);
 
flock($fh,LOCK_UN);
 
fclose($fh);
}
?>

Для того чтобы страничка 403 стала универсальной и выдавала в сообщение URL, к которому закрыт доступ,
в HTML коде замените строчку:

HTML код:

<p>You don't have permission to access /.htacces on this server.</p>

на такую:

HTML код:

<p>You don't have permission to access /
<?php echo strtok(basename($_SERVER['
REQUEST_URI']), '?').' on this server';?>

Теперь Вам остается лишь перенаправить посетителя со стандартной странички 403 на Вашу собственную.
Для этого в файле .htacces добавьте всего одну строчку:

Цитата:

ErrorDocument 403 /error403.php

Все. Теперь все IP адреса, доступ которым запрещен на сайт и IP адреса, которые пытаются получить доступ к защищенным
ресурсам сайта, будут попадать в файл логов logs_403.txt с указанием времени, User_Agent-а и URL, по которому они пытались получить доступ.

Обращаем Ваше внимание на то, что мы специально добавили в PHP код дополнительное условие проверки
if (filesize(«logs_403.txt»)<99999) для того, чтобы при быстром росте размера файла логов и превышении им
размера в 99999 байт, логи в файл перестали записываться для снижения нагрузки на сервер.

При всем при этом стоит учитывать, что предлагаемая нами собственная страничка 403 при очень частом
обращении к ней повысит нагрузку на сервер, так что смотрите сами, стоит ли Вам создавать свою собственную страничку ошибки
403 если сервер у Вас слабый.

Дата создания: 16:12:47 13.06.2013 г.

Посещений: 8030 раз(а).

Перед публикацией все комментарии проходят обязательную модерацию!

Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.

И так, вы все же заинтересовались как заменить стандартные страницы ошибок в Nginx на свои. Тогда приступим.

Создание собственных страниц ошибок в Nginx

Приступим к созданию собственных страниц ошибок в Nginx. HTML код страниц описанных ниже будет как пример, на своем боевом сервере вы с легкостью сможете кастомизировать и брендировать их как вам необходимо.

Создание страницы ошибки 404

Для начала создадим файл /usr/share/nginx/html/my_404_error.html и откроем его для ввода HTML кода страницы, для этого выполним 2 команды:

touch /usr/share/nginx/html/my_404_error.html
nano -w /usr/share/nginx/html/my_404_error.html

Вводим HTML код страницы 404 и сохраняем файл, пример:

<h1>Ой, ошибка 404</h1>
<p>На своей последней ссылке вы повернули налево, а не направо?</p>
<p>Нет проблем. Вот несколько советов, которые вернут вас на верную дорогу:</p>
<ul>
    <li>Если вы набрали адрес вручную, проверьте его корректность. Возможно, это просто опечатка.</li>
    <li>Если вы нашли проблему с одним из наших веб-сайтов, мы будем признательны, если вы могли бы сообщить о проблеме по почте: mail@domain.com</li>
    <li>Если вы проследовали по ссылке, то, вероятно, она сломана. Сообщите нам об этом по почте: mail@domain.com</li>
    <li>Если вы не уверены, что вы ищете, начните на с главной страницы domain.com.</li>
</ul>

Создание страницы ошибки 403

Как и в случае со страницей 404, нужно создать файл /usr/share/nginx/html/my_403_error.html, открыть его на редактирование, добавить HTML код для страницы ошибки 403 и сохранить файл, для этого выполняем 2 команды:

touch /usr/share/nginx/html/my_403_error.html
nano -w /usr/share/nginx/html/my_403_error.html

Вводим HTML код страницы 403 и сохраняем файл, пример:

<h1>Ой, ошибка 403. Доступ запрещен.</h1>
<p>У вас нет разрешения для доступа к странице, давайте попробуем решить эту проблему вместе:</p>
<ul>
<li>Может быть вы забыли авторизоваться?</li>
<li>Вы авторизированны под своей учетной записью?</li>
<li>...</li> <li>Сообщите нам по почте: mail@domain.com и мы попробуем решить проблему вместе.</li> </ul>

Создание страницы ошибки 500

Повторяем шаги описанные выше (файл: /usr/share/nginx/html/my_500_error.html):

touch /usr/share/nginx/html/my_500_error.html
nano -w /usr/share/nginx/html/my_500_error.html

Вводим HTML код страницы 500 и сохраняем файл, пример:

<h1>Ой, ошибка 500.</h1>
<p>Попробуйте обратится к странице чуть позже или сообщите нам о проблеме по почте: mail@domain.com</p>
<p>Спасибо, что вы с нами.</p>

И так с созданием страниц ошибок закончили. Еще раз повторюсь, вы можете внедрить CSS стили и картинки на эти страницы, что сделает страницы ошибок более привлекательными, здесь все зависит от вас.

Подключение собственных страниц ошибок в Nginx

Настройка Nginx

Для того, чтобы созданные страницы ошибок заработали, нужно отредактировать конфигурацию Nginx, открываем файл конфигурации для редактирования:

nano -w /etc/nginx/nginx.conf

В конфигурации нужно добавить блок подключения страниц ошибок в блок server {}, пример блока настройки для страницы 404:

error_page 404 /my_404_error.html;
location = /my_404_error.html {
    root /usr/share/nginx/html;
    internal;
}

Примечание. В файле nginx.conf уже может быть блок настройки страниц ошибок, его нужно закомментировать, удалить или изменить на свой. В любом случае перед редактированием файла конфигураций nginx сделайте резервную копию для возможности восстановить текущую рабочую версию настроек.

Пример добавления всех страниц ошибок в конфигурацию nginx:

http {
    #...

    server {
        #...

        error_page 404 /my_404_error.html;
        location = /my_404_error.html {
            root /usr/share/nginx/html;
            internal;
        }

        error_page 403 /my_403_error.html;
        location = /my_403_error.html {
            root /usr/share/nginx/html;
            internal;
        }

        error_page 500 /my_500_error.html;
        location = /my_500_error.html {
            root /usr/share/nginx/html;
            internal;
        }

    #...

    }
}

В примере указан путь к странице ошибки, установлена корневая папка и установлен доступ к файлам «internal» чтобы обеспечить доступ к старницам только через внутреннее перенаправление nginx (таким образом пользователь не будет иметь прямой доступ к файлам).

Применение изменений

Для того чтобы изменения вступили в силу нужно перезапустить Nginx:

service nginx reload

Все, собственные страницы ошибок в Nginx готовы к работе. Можете проверить и наслаждаться проделанной работой.

Спасибо за внимание.

Question : Can I create a custom error page for 403 forbidden error message.

Answer : Yes If you are using unlimited hosting plan, you can create a customised 403 error page. Follow the below steps to create 403 page in Nginx.

To create your custom 403 error page, here’s what you will need to do:

1. Create your own custom 403 error page, for example call it 403.html on your default web document root.

# cd /var/www/html/
# vim 403.html

<html>
<head><title>Error 403 - You are not authorized to access this page.</title></head>
<body>
You are not authorized to access this page. If you this an error, please contact webmaster with your IP at [email protected]
</body>
</html>

2. Edit your nginx.conf file like below:

# vim nginx.conf
# redirect server error pages to the static page
 error_page   403  /403.html;
 location = /403.html {
         root   /var/www/html;
 }

3. Save and closer file.

4. Restart and reload the Nginx service.

 # service nginx reload/restart

5. Visit your website to a unauthorised page to confirm if the error page is working correctly.

Thanks:)

Thank you! for visiting LookLinux.

If you find this tutorial helpful please share with your friends to keep it alive.
For more helpful topic browse my website www.looklinux.com.
To become an author at LookLinux Submit Article.
Stay connected to Facebook.

You may also like

About the author

mm

Hi! I’m Santosh and I’m here to post some cool article for you. If you have any query and suggestion please comment in comment section.

Понравилась статья? Поделить с друзьями:
  • Сделал я ошибку полюбив тебя
  • Своя родина это речевая ошибка
  • Сделал рекорд лексическая ошибка
  • Сгибание туловища лежа на полу ошибки
  • Своя игра ошибка загрузки медиа