国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页服务器类Web服务器 → Apache下禁止php文件被直接访问的方法

Apache下禁止php文件被直接访问的方法

我要评论 2013/04/09 09:05:25 来源:国语自产精品视频在线看 编辑:zbbingyang.com [ ] 评论:0 点击:162次

一开始♉,我想在重写规【chóng xiě guī】👁则里直⛩接禁止【jiē jìn zhǐ】⛰php后缀的【hòu zhuì de】URL被访问【bèi fǎng wèn】⬛。但后来【dàn hòu lái】发现重【fā xiàn chóng】写规👁则是递归⛷调用的,如果在【rú guǒ zài】重写规【chóng xiě guī】👁则里直⛩接禁止【jiē jìn zhǐ】⛰php,那么重写到php文件的规则也会失效📻。RewriteEngineOn

RewriteRule^test$/test.php[L]

RewriteRule^test.php$$0[F,L]

 

递归调用这真【yòng zhè zhēn】🖲可怕,一开始访问【fǎng wèn】/test的时候URL重写【chóng xiě】检⚪查一次,然后匹【rán hòu pǐ】配到😝^test$就内部【jiù nèi bù】重定⚾向🥏到/test.php,然而内部重定【bù chóng dìng】⚾向🥏也会触发😲URL重写【chóng xiě】,因此再【yīn cǐ zài】次检查【cì jiǎn chá】,匹配到😝^test.php$,被强制【bèi qiáng zhì】直接[F](Forbidden)操作,所以就🐟变成了403错误【cuò wù】。既然这样【yàng】,就必须【jiù bì xū】🐳判是否🌍已经经过服务器🐴重定向【chóng dìng xiàng】🥏。这时候服务器🐴变量里【biàn liàng lǐ】🍗有个REDIRECT_URL可以使用【yòng】,因此我🥌试着用【yòng】这个做判断。

RewriteEngineOn

RewriteRule^test$/test.php[L]

RewriteCond%{REDIRECT_URL}^$

RewriteRule.*$0[F,L]这样写【zhè yàng xiě】访问【fǎng wèn】/test依旧被403,稍微检🤣查下,发现【fā xiàn】🤧RewriteCond中【zhōng】%{REDIRECT_URL}永远为❗空【kōng】,这就蛋疼了【téng le】🌫,这样的🐦话在重写规则中【zhōng】没办法直接禁止php了【le】。但是可【dàn shì kě】以用不怎么华丽的方【lì de fāng】法实现🍼。就是在php文件中【zhōng】去判断【qù pàn duàn】REDIRECT_URL,虽然这个方法😋可以实现🍼,但是感【dàn shì gǎn】觉很逊📩,只是目🕷前为止👵也没找✖到什么更好的办法了【bàn fǎ le】🏮。

$_SERVER['REDIRECT_URL']ordie('Forbidden');

//这里只🆑是显示【shì xiǎn shì】文字而已,实际使用的时📖候还需【hòu hái xū】输出的HTTP错误代【cuò wù dài】码🦉。

echo$_SERVER['REDIRECT_URL'];//成功访💛问显示信息【xìn xī】

?>

把这段PHP代码修【dài mǎ xiū】改下丢【gǎi xià diū】进全局引用里👀就基本🥋上没啥问题了【le】💻,虽然不是完美【shì wán měi】🐉解决🌩,但是至【dàn shì zhì】少还是解决🌩了【le】,以后也许会发😆现更好【xiàn gèng hǎo】的方法。

关键词:Apache

阅读本文后您有什么感想? 已有 人给出评价!

  • 0 欢迎喜欢
  • 0 白痴
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙视