在 php 中编码 url 以防止直接访问


Encoding url in php to prevent direct access

在我的网站上注册用户有三个步骤,现在的网址类似于:

http://www.example.com/register.php
http://www.example.com/registerstep2.php
http://www.example.com/registerstep3.php  

我想知道将其编码为以下内容的简单方法是什么:

http://www.example.com/w^3434SD343f232gihmsdsdwre232

尝试这样做的原因是,我试图确保用户遵循步骤,而不是试图通过直接转到注册链接 3 来"欺骗"系统。

这是一个坏主意。不要试图通过简单的混淆来隐藏 URL,而是在脚本顶部进行检查以查看它们是否可以继续。

换句话说,每次他们访问某个页面时,请检查他们是否提交了上一页的信息。如果没有,请将其送回。例:

if ( !functionThatChecksAndReturnsBool() )
{
    header("Location http://www.example.com/register.php");
    exit;
}