php在输入无效url后将用户移动到404页面


php move user to 404 page after typing invalid url

我正在设计一个网站,但我知道如果用户在我的url中输入了错误的字符,就会打开一个找不到的页面。我知道这可能是一种破解我网站的方法。我该怎么办?例如,如果用户在我的url中输入一个',如下所示:

http://example.com/article.php?id=585'

他移动到我设计的一个找不到的页面,或者移动到他所在的第一页或最后一页。谢谢

您必须考虑两件事:

  1. 处理不存在的文件
  2. 处理不存在的项目ID

以下是如何处理每种情况:

1)创建一个.htaccess文件并将其放在您的网站根文件夹中:

RewriteEngine on
ErrorDocument 404 /error.php # change this to your own 404 file path

2)打开articles.php文件并将其添加到顶部(在检查您的ID是否存在之后)

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之后的apostophe),我的意思是您希望防止sql注入。正确的只需对输入进行消毒,即检查id是否有效。你可以找到很多教程,只需谷歌一下

p.S:相信我,破解你的服务器需要比404页面多得多的时间

只需使用以下内容:

打开articles.php文件并将其添加到顶部(在检查您的ID是否存在之后)

if(!valid_id($id)) {
    header('location:error.php'); exit();//change this path to your own 404 file
}

valid_id()只是一个检查函数示例。