apache+php
用ajax,就要用js脚本调用php页面,js脚本就上就会出现那些动态页面的路径,太不安全了。我如果设置apache的Options - Indexes 禁止访问存放js,php脚本的目录的话,当我的程序需要访问这些脚本时也就禁止访问了,程序就运行不了。请问有什么好办法吗?

解决方案 »

  1.   


    动态路径本身就是公开的内容,
    如果真的有安全隐患也跟Ajax无关。纯粹属于你网站程序的设计问题。
      

  2.   

    js脚本就上就会出现那些动态页面的路径,太不安全了 ?????为什么呢?js脚本中怎么就会出现那些动态页面的路径呢?在正常的设计中,ajax 是通过与服务器的唯一接口进行交互的。不可能,也不应该出现具体的url
      

  3.   

    LZ的意识很好,但是杞人忧天
    我曾用ajax封装一些方法实现简单操作数据库都不担心安全问题,暗箱操作即可
    你所谓的路径可能是url吧
      

  4.   

    url本来就是用来公开的,会有什么安全问题?
      

  5.   

    真的是LZ多心了,
    再说了URL公不公开跟AJAX没有关系吧
      

  6.   

    谢谢大家,但是可能我说的不太清楚。
    xmlHttpReq.open()的时候会出现url吧。这个url就是php文件,这个文件会返回我需要的一段html代码的字符串。
    如果别人看到了url,直接在浏览器中输入地址浏览该php文件,网页肯定会乱到,因为这段html是局部的html代码。这样说大家应该了解了吧,我的意思就是让这个目录禁止浏览者访问,但是呢,正如我上面所说的,禁止了之后我的程序也访问不了了。我想问有什么办法。
      

  7.   

    askok ,你好。不过我观察的所有网站,他们都能很好的做到浏览者禁止访问。
    我看到他们的路径,然后输入。就会出现两种情况
    1.因为动态页的参数中有唯一id,所以就会跳到唯一id指定的页面(正常的完整的网页,而不是那个php的局部页面)
    2.直接禁止你访问,说没有权限。
      

  8.   

    不让人直接输入地址访问:
    简单的你可以用post方法,请求的页面做处理,该跳转跳转,或者返回403都可以
    或者强制要求包含XMLHttpRequest的hearder 的请求
    等等...
    这样做没有太大意义,这也不涉及安全问题:
    1、普通用户不会调试你的ajax页面;
    2、盯上你的人有google种方法去请求ajax请求的页面,firefox就能办到
      

  9.   

    羊驼的,刚才写了半天,发布时才告诉我升级期间不能回复!羊驼的,有这个功夫禁止回复,不会把回复框先取消啊?
    严格的说,你说的问题还根本不是安全问题……给你几个建议吧:1. ajax本身就是一个连接客户端和服务器端的技术。在客户端,用户浏览你的HTML、CSS、JS都是合理、合法的,你也没有办法阻止;
    2. 至于你提到的那个被ajax调用的PHP后台,我只能建议你不要返回敏感信息。一个最简单的例子是判断用户密码是否正确。那么应该返回经由比较后的true或false,而不要傻到直接返回数据库中保存的正确密码;
    3. 我使用的Symfony框架中有一个isXmlHttpRequest函数,可以判断调用来自正常的页面浏览,还是来自ajax的异步调用。我没有深入去看这个函数的实现,但是我相信你应该可以找到这样的函数。所以你可以在那个页面判断一下:如果是异步调用,OK,正常处理返回;如果不是,那么你重定向到404也好,500也好就随便你了。======最后说一句,分数实在太少……