【问题标题】:Fake Subdomain with mod-rewrite带有 mod-rewrite 的假子域
【发布时间】:2013-03-01 22:48:38
【问题描述】:

很抱歉问这个...我已经看到了各种答案,但我找不到可以帮助我的答案(可能是因为我对这个过程很陌生)

这就是问题所在。我想伪造一个子域,以便人们转到sub.domain.co.uk,但服务器将其读取为domain.co.uk/?event=sub,然后他们可以添加其他婴儿车,如sub.domain.co.uk/Login,从而导致domain.co.uk/?event=sub&url=Login

我目前的代码是这样的:

RewriteCond %{REQUEST_URI}  !\.(php|html?|jpg|gif)$
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]

# Rewrite event / url / action1 / action 2 etc.
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.co\.uk$ [NC]
RewriteRule ^/$ /index.php?event=%1 [QSA,L,NC]
RewriteRule ^([^/]*)/$ /index.php?event=%1&url=$1 [QSA,L,NC]
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?event=%1&url=$1&action1=$2 [QSA,L,NC]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /index.php?event=%1&url=$1&action1=$2&action2=$3 [QSA,L,NC]

几乎就在那里...它获取 url、action1 和 action2 但不是事件!..如果我关闭/,所以它看起来像这样RewriteRule ^$ index.php?event=%1 [QSA,L,NC] 然后我得到事件但它试图加载下一个命令所以

sub.domain.co.uk

加载

domain.co.uk/?event=sub&url=

这是一个错误,因为当我加载 action2 时,它在我身上出现了 404!有人帮它把我逼疯了

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    是的,这是我所做的一个肮脏的修复。我的 .htaccess 现在是这样的:

    # Rewrite event / url / action1 / action 2 etc.
    RewriteCond %{HTTP_HOST} ^(.*)\.domain\.co\.uk$ [NC]
    RewriteRule ^/$ /index.php [QSA,L,NC]
    RewriteRule ^([^/]*)/$ /index.php?url=$1 [QSA,L,NC]
    RewriteRule ^([^/]*)/([^/]*)/$ /index.php?url=$1&action1=$2 [QSA,L,NC]
    RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /index.php?url=$1&action1=$2&action2=$3 [QSA,L,NC]
    

    在 php 中我有这个:

    $sub = explode ( '.' , $_SERVER['HTTP_HOST'] );
    $event = $sub[0] == 'www' || $sub[0] == 'domain' ? false : $sub[0] ;
    

    现在我可以查看 $event 变量是否已加载...

    如果有人有更清洁的方式,我会全神贯注,但这对我有用 HUZZAR

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      • 2014-01-30
      • 2011-07-13
      • 1970-01-01
      相关资源
      最近更新 更多