在某些网站中,我看到如下内容:
http://example.com/bills/c4grSxby6Eysk0TREcXKZDDfRse0XB/yourbill.php
只要浏览器窗口关闭(会话结束),就会更改该路径中间的随机字符串。
我需要知道创建这种伪造URL
的逻辑以及一些代码示例。
答案 0 :(得分: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是第一个)正则表达式组(括号内的值)。
答案 1 :(得分:1)
使用Apache的mod_rewrite,url的第一部分将是一个变量,它将映射到一个将处理它的文件。它将在内部重写:/bills/index.php?str=c4grSxby6Eysk0TREcXKZDDfRse0XB或类似的......