【问题标题】:How can I limit accessing my website's scripts for others?如何限制他人访问我网站的脚本?
【发布时间】:2016-04-25 17:16:20
【问题描述】:

我有一个生成头像的脚本。这是我的结构:

-folder1
   -scripts
       -MakeAvatar.php
   -img
       -avatar

我在其他页面中这样使用它:

$name = 'anything';
$hash = md5($name);
$input  = "http://localhost/folder1/scripts/MakeAvatar.php?hash=$hash";
$output = "../../folder1/img/avatar/".$name.".jpg";
file_put_contents($output, file_get_contents($input));

如您所见,每个人都可以访问此脚本并制作头像:

http://localhost/folder1/scripts/MakeAvatar.php?hash=$hash

我怎样才能将该脚本只用于我自己的网站并禁止其他人使用它?

【问题讨论】:

    标签: php


    【解决方案1】:

    将脚本放在网络根目录之外。

    scripts
     -MakeAvatar.php
    public (or whatever you call your webroot)
     -img
     -index.php
    

    这意味着 www.site.com 转到 index.php,但您无法从浏览器导航到脚本。但是,可以这样做: ../scripts/MakeAvatar.php(来自 index.php)。

    【讨论】:

    • @stack 这实际上是一个行业标准。如果您曾经接触过 MVC 或框架,您会发现我们倾向于不遗余力地将尽可能多的网站与用户隔离开来。要回答你的问题,不。即使有人可以看到您如何调用脚本(他们看不到),除非他们有服务器访问权限(他们不会),否则他们看不到脚本。
    猜你喜欢
    • 2014-07-13
    • 2019-05-31
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多