我应该保护服务器 scripts/files 不被用户访问,如果用户可以看到服务器文件是否存在安全风险,该怎么做?
Should I protect server scripts/files from users, Is there a security risk if users can see server files, how to do it?
我知道 .htaccess
不是最好的方法,但我无权访问其他服务器设置。
- index.php (root)
-- scripts (folder)
--- someScript.php (one of the scripts)
假设我有一个 index.php
文件位于服务器的 root
,该文件向文件夹 scripts
中的脚本发出 ajax 请求, 如果用户在搜索栏中输入 domain.com/scripts/
他现在可以访问该文件夹(我不知道是否可以从那里下载)。
我知道我可以使用 options -Indexes
但这仍然允许用户直接转到脚本,如果他们知道它的名称,这不难找到甚至猜不出来?
我知道的第二个选项是
<Files ~ "\.txt$">
Order allow,deny
Deny from all
</Files>
但这会阻止一切访问文件,甚至 ajax 请求。
所以,我的问题是,我应该以某种方式保护这些文件吗?用户能否看到或下载他们的内容,是否存在安全隐患?
should I protect these files somehow?
好吧,你真的不能,如果它们是由客户端请求的(浏览器 AJAX 请求)。
通常在通过 AJAX (client-side) 调用脚本时发送自定义 HTTP 请求 header,因此脚本知道如何响应此类请求并且 return 适当的回应。虽然这不提供“安全性”,但它确实可以防止对该脚本的随意请求执行任何操作。
Can the user see their content or download them, are there security risks ?
您给出的示例是 PHP 脚本。任何直接请求只会看到它的 输出 ,不一定会看到它的内容。
唯一的安全风险是你所做的。如果对该脚本的任意请求 return 是所有活动用户和个人信息的列表,那么是的,这显然存在安全风险。但是,如果响应为空并且由于调用该脚本而没有发生有害事件,则它是 non-issue.
我知道 .htaccess
不是最好的方法,但我无权访问其他服务器设置。
- index.php (root)
-- scripts (folder)
--- someScript.php (one of the scripts)
假设我有一个 index.php
文件位于服务器的 root
,该文件向文件夹 scripts
中的脚本发出 ajax 请求, 如果用户在搜索栏中输入 domain.com/scripts/
他现在可以访问该文件夹(我不知道是否可以从那里下载)。
我知道我可以使用 options -Indexes
但这仍然允许用户直接转到脚本,如果他们知道它的名称,这不难找到甚至猜不出来?
我知道的第二个选项是
<Files ~ "\.txt$">
Order allow,deny
Deny from all
</Files>
但这会阻止一切访问文件,甚至 ajax 请求。
所以,我的问题是,我应该以某种方式保护这些文件吗?用户能否看到或下载他们的内容,是否存在安全隐患?
should I protect these files somehow?
好吧,你真的不能,如果它们是由客户端请求的(浏览器 AJAX 请求)。
通常在通过 AJAX (client-side) 调用脚本时发送自定义 HTTP 请求 header,因此脚本知道如何响应此类请求并且 return 适当的回应。虽然这不提供“安全性”,但它确实可以防止对该脚本的随意请求执行任何操作。
Can the user see their content or download them, are there security risks ?
您给出的示例是 PHP 脚本。任何直接请求只会看到它的 输出 ,不一定会看到它的内容。
唯一的安全风险是你所做的。如果对该脚本的任意请求 return 是所有活动用户和个人信息的列表,那么是的,这显然存在安全风险。但是,如果响应为空并且由于调用该脚本而没有发生有害事件,则它是 non-issue.