Я разрабатываю веб-сайт, но я знаю, вводит ли пользователь неправильный символ в мой URL-адрес, для него откроется не найденная страница. и я знаю, что это может быть способ взломать мой сайт. Что я должен сделать для этого? например, если пользователь вводит 'в мой url, как это:
http://example.com/article.php?id=585'
Он переместится на страницу, не найденную мной, которую я создал, или переместился на первую страницу или последнюю страницу, в которой он был. Спасибо.
Вы должны учитывать 2 вещи:
Здесь, как обрабатывать каждый случай:
1) Создайте файл.htaccess и поместите его в корневую папку вашего веб-сайта:
RewriteEngine on
ErrorDocument 404 /error.php # change this to your own 404 file path
2) Откройте файл articles.php и добавьте его в начало (сразу после проверки, существует ли ваш идентификатор)
if(!valid_id($id)) {
//if you have php 5.3- use this
header('HTTP/1.1 404 Not Found');
//if you have php 5.4+ use this
//http_response_code(404);
include('error.php'); //change this path to your own 404 file
die();
}
Очевидно, valid_id()
является просто примером функции.
Вам нужно будет создать пользовательскую страницу 404. Поэтому, когда ваш сайт не получит эту страницу, он покажет вашу собственную страницу.
Попробуйте эту ссылку для пользовательской страницы.
Кстати, от id = 585 '(апостоф после 585), я имею в виду, что вы хотите предотвратить SQL-инъекцию. Правильно? Просто очистите ввод, то есть проверьте, действителен ли id для нет. Вы можете найти много учебников для этого, просто пойдите в Google.
PS: Поверьте мне, потребуется больше, чем 404 страница, чтобы взломать ваш сервер
просто используйте это:
Откройте файл articles.php и добавьте его в начало (сразу же после проверки наличия вашего идентификатора)
if(!valid_id($id)) {
header('location:error.php'); exit();//change this path to your own 404 file
}
valid_id() - это просто пример функции проверки.