注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Windows >> 服务器技术 >> Web服务器 >> Windows正文

从权限入手解决IIS+PHP环境故障

文章来源:IT168 作者:权心权意 更新时间:2007-1-19 【 】 【加入收藏
    在IIS基础上建立PHP环境总会出现这样或那样的问题,很多问题都比较难解决,笔者最近在建立IIS下PHP环境时就遇到了出现访问出错的问题,所有php页面文件无法正常显示出来,而ASP还有HTML静态页面能够顺利访问。下面就请各位IT168的读者随我一起从权限入手解决IIS+PHP环境故障。

一、故障现象:

    笔者搭建环境采用的操作系统是windows XP,IIS是系统自带的IIS 5,PHP版本是5.2。按照网上的步骤笔者安装PHP程序并配置了IIS中的相应映射参数建立了PHP环境,并且生成了名为index.php的文件作为测试用。在实际使用中却发现在服务器上通过浏览器访问http://127.0.0.1/index.php和http://localhost/index.php均出现错误提示,具体页面显示为“无权查看网页,基于所提供的凭据,您没有权限查看此目录或网页,HTTP错误 401.3——访问被资源ACL拒绝”。(如图1)

图1

    为了进一步排查故障笔者又在IIS中通过在默认网站上点“浏览”来查看,结果收到的反馈消息和上面的一样,也是“HTTP错误 401.3——访问被资源ACL拒绝”。(如图2)
图2

    然而在同一个站点的其他页面文件,只要不是PHP语言建立的都可以正常浏览和查看,包括HTML静态页面和ASP动态网页文件。

二、修改验证方式解决问题:

    既然IIS反馈回的信息是“HTTP错误 401.3——访问被资源ACL拒绝”,所以笔者也针对访问权限进行排查故障工作。

    第一步:在IIS中的默认网站上右键选择“属性”来查看该站点的相关属性信息。(如图3)

图3


    第二步:在打开的默认网站属性处我们找到“目录安全性”标签,然后点“匿名访问和身份验证控制”旁边的“编辑”按钮。(如图4)

图4


    第七步:一般情况下在IIS中调用查看该页面是不需要进行集成Windows身份验证的,所以没有出现要求输入具备相应权限的Windows系统帐户和密码,不过如果要是通过网络或者浏览器访问就需要填写具有足够权限的Windows系统帐户和密码。(如图9)


图9


    第八步:如果身份验证通过了Windows系统的检查,那么正确的页面信息也将显示出来。(如图10)

图10


    至此我们就解决了IIS中PHP页面访问所出现的“HTTP错误 401.3——访问被资源ACL拒绝”故障。不过这种设置在访问上带来了一定的不方便,必须知道Windows系统的帐户和密码才可以浏览,要知道一般网站都是给外部用户使用的,他们并不会知道服务器的密码与管理帐户,就算知道了也会给服务器的安全带来巨大的隐患。所以我们还需要从权限入手,解决问题。

三、修改匿名访问帐号解决实际问题:

    既然通过修改访问方式为“集成Windows身份验证”能够解决实际问题,这就说明问题的根源不在PHP上,而在于权限的设置。

    我们再次尝试在IIS中的默认网站上右键选择“属性”来查看该站点的相关属性信息。找到“目录安全性”标签,然后点“匿名访问和身份验证控制”旁边的“编辑”按钮。将“身份验证方法”处看到的IUSER_CHINA-914340F04帐户通过“浏览”按钮选择管理员administrator帐户,密码也设置相应的密码。(如图11)

图11

    再次浏览PHP文件你会发现一切顺利,PHP文件的内容可以被正常显示。(如图12)通过浏览器访问页面也没有任何问题,PHP内容显示无误。(如图13)
图12
图13

    可见将默认的IUSER_CHINA-914340F04帐户修改为administrator管理员权限的帐户后访问就没有任何问题了,同时也不会出现上面修改验证方式时出现的帐户密码确认对话框,外部用户访问顺顺利利。不过这种方法非常不安全,毕竟administrator的权力太大,权限太高,可以轻松实现对页面的修改和删除操作。

四、修改文件夹权限解决问题:

    上面两种修改办法都可以解决问题,这更加说明了问题出在权限而不是PHP的安装上。从网上找到的资料就是需要容许IUSER_CHINA-914340F04这个IIS临时调用帐号具备对IIS发布目录的访问权限,如果是PHP页面还需要具备执行权限。

    第一步:由于笔者没有修改默认的IIS发布目录路径,所以我们进入到c:\inetpub目录,找到WWWROOT目录,在其上点鼠标右键选择“共享和安全”。(如图14)


图14


    第二步:将对应的IUSER_CHINA-914340F04帐户添加到对文件夹访问的属性窗口,并给予读取和运行,列出文件夹目录以及读取权限。(如图15)

图15


    第三步:另外为了保险还应该将IUSER_CHINA-914340F04帐户添加到对PHP文件夹访问的属性窗口中,给予并给予读取和运行,列出文件夹目录以及读取权限。(如图16)

图16


    第四步:接下来就应该可以顺利访问了,浏览PHP页面不会出现诸如“无权查看网页,基于所提供的凭据,您没有权限查看此目录或网页,HTTP错误 401.3——访问被资源ACL拒绝”的错误提示了。

    小提示:如果还是有问题我们只需要将IUSER_CHINA-914340F04帐户的密码重新设置下。(如图17)最后再在“身份验证方法”处的IUSER_CHINA-914340F04帐户密码处输入相应的字符即可,记得要把容许IIS控制密码前的对勾去掉。(如图18)

图17
图18

    这种方法解决了故障问题后可以实现外部用户不需要输入任何验证信息就可以顺利访问站点的目的,而且也不会给网站带来极大的安全隐患。

五、总结:

    实际上本文是循序渐进的解决了PHP在IIS环境下的“无权查看网页,基于所提供的凭据,您没有权限查看此目录或网页,HTTP错误 401.3——访问被资源ACL拒绝”问题。相比之下第一种和第二种用于定位问题所在,在实际中并不可取,因为这样不方便用户浏览页面,而且在容易造成安全隐患;最后第三种方法才是真正的解决方案。不过本文介绍的三种方法是为了让读者开阔思路,真正从实例理解IIS中相应的设置信息,在关键时候可以解决大问题。

  • 上一篇Windows:

  • 下一篇Windows:
  • 最 新 热 门
     修改boot.ini 让启动菜单变“彩”
     XP/2003 Server操作系统配置与管理
     黑客又出手 解析新时代的网络攻击技术
     Windows Vista系统服务安全强化策略
     SQL实现其他进制到十进制的转换
     请正确对比Windows和Linux的差异
     60秒就能给Win Vista瘦身2GB
     Vista系统中IE提示证书错误解决方法
     Vista无法正常用输入法的两个解决方法
     深入分析Windows操作系统死机问题
    最 新 推 荐
     三种服务器管理技巧 高效管理服务器
     抠出Windows 2003中的IIS6安装程序
     64位Web服务器安装配置注意事项
     Windows Vista上的IIS7设置攻略
     巧施妙手,排除IIS特殊管理困惑
     Longhorn下的IIS是Apache杀手么?
     网管经验谈-巧妙搭建IIS下PHP环境
     从权限入手解决IIS+PHP环境故障
     IIS配置及安全访问控制策略详解
     WEB专用服务器的安全设置的实战技巧
    相 关 文 章

    注册表编辑器+权限控制=废掉Autorun
    Windows Server2003防木马权限设置
    用漏洞提升计算机控制权限(图)
    妙用Vista特有权限 限制木马病毒的泛滥
    巧妙设置用户权限 管理学生机房
    局域网内共享文件 提示没有访问权限的问题
    用Administrator权限使用Windows XP
    新手入门:访问权限不再头疼
    教你获取WindowsNT的Admin权限的方法
    系统权限——你用好了吗?

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用