php在输入无效网址后将用户移至404页面

时间:2014-11-11 19:05:17

标签: php

我正在设计一个网站,但我知道如果用户在我的网址中输入了错误的字符,则会找到一个未找到的网页。我知道这可能是破解我的网站的一种方式。我该怎么办?例如,如果用户输入'进入我的网址:

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

他移动到我设计的未找到的页面或移动到他所在的第一页或最后一页。 感谢。

3 个答案:

答案 0 :(得分:1)

您必须创建自定义404页面。因此,当您的网站没有获得该页面时,它将显示您的自定义页面。

请尝试使用此link作为自定义页面。

顺便从id = 585'(585之后的撇号),我的意思是你要防止sql注入。对?只需清理输入,即检查id是否有效。你可以找到很多教程,只需谷歌吧。

P.S:相信我,要破解你的服务器需要更多的404页面

答案 1 :(得分:1)

你必须考虑两件事:

  1. 处理不存在的文件
  2. 处理不存在的文章ID
  3. 以下是处理每个案例的方法:

    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()只是一个功能示例。

答案 2 :(得分:0)

只需使用:

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

if(!valid_id($id)) {

    header('location:error.php'); exit();//change this path to your own 404 file
}

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