4

在某些网站中,我看到如下内容:

http://example.com/bills/c4grSxby6Eysk0TREcXKZDDfRse0XB/yourbill.php

每当关闭浏览器窗口(会话结束)时,该路径中间的随机字符串就会更改。

我需要知道创建这种伪造的逻辑URL和一些代码示例来制作它。

4

2 回答 2

2

我认为您正在寻找 URL 重写,例如,使用 Apache 的 Mod Rewrite。这不是 PHP 特定的东西。

你可以做的是说你有一个像......

mysite.com/bills/c4grSxby6Eysk0TREcXKZDDfRse0XB/yourbill.php

其中 c4grSxby6Eysk0TREcXKZDDfRse0XB 是会话 ID,通过重写,它实际上被传递给...

mysite.com/bills/yourbill.php?session=c4grSxby6Eysk0TREcXKZDDfRse0XB

并正常处理,它只是浏览器中的不同URL。

假设您使用的是 Apache 并启用了重写模块,您可以在 .htaccess 文件中定义重写规则。这种重写的规则是:

RewriteRule ^mysite.com/bills/([a-zA-Z0-9]+)/yourbill.php$ mysite.com/bills/yourbill.php?session=$1

未经测试,但应该可以工作,其中 $i 是第 i 个(在这种情况下 $1 是第一个)正则表达式组的值(括号内的值)。

于 2012-11-14T16:51:02.360 回答
1

使用 Apache 的 mod_rewrite,url 的第一部分将是一个变量,它将映射到一个处理它的文件。它将在内部这样重写:/bills/index.php?str=c4grSxby6Eysk0TREcXKZDDfRse0XB 或类似...

于 2012-11-14T16:22:29.827 回答