2010-09-24 50 views
0

我正在使用.htaccess RewriteRule我正在处理的网站上。检测页面是否通过.htaccess在PHP中调用RewriteRule

这里是我的.htaccess的样本

RewriteEngine on 
RewriteRule ^about.htm$ /index.php?load=about&output=html [NC] 

我想知道是否有办法在我index.php文件来检测 如果页面已经通过重写叫或用户达到了它直接使用 。我试图避免不得不写一些安全检查,我甚至不知道从哪里开始。

如果没有办法使该“检查”在哪里我应该开始安全 该文件?

我的猜测是,以确保只有loadoutput被 传递给$_GET,使strip_tags()trim()stripslashes()和删除引号。

谢谢!

回答

1

在$ _SERVER全局中查找REDIRECT_URL或REDIRECT_STATUS。 mod_rewrite应该添加这些。

+0

嘿,那很快!但我现在想知道,如果我自己不得不自己做安全的话,我的模式是否好。任何想法?我会接受几个你的答案。 – Cybrix 2010-09-24 14:28:58

+0

没问题。 mod_rewrite是强大的魔咒。我唯一的看待提供的模式的想法是,它可能更简单。如果我是你,我会看看像Zend Framework,Drupal等使用的.htaccess文件这样的突出例子。 ZF htaccess非常简单,基本上将所有内容发送到index.php,而不是实际的文件或目录。所以你可以使用/ about(或/about.htm)作为你的URL并让index.php通过分割“/”来解析REQUEST_URI。 – bogeymin 2010-09-24 14:52:02