Php 限制从web浏览器访问文件夹,但只能通过我的网站访问
我有一个配置了ubuntu和Apache的内部Web服务器。 我已经授予了对/opt/data_upload的访问权,这样我就可以使用这个目录保存从PHP上传的图像,并在Ajax Get请求时将其取回 我在Php 限制从web浏览器访问文件夹,但只能通过我的网站访问,php,apache2,Php,Apache2,我有一个配置了ubuntu和Apache的内部Web服务器。 我已经授予了对/opt/data_upload的访问权,这样我就可以使用这个目录保存从PHP上传的图像,并在Ajax Get请求时将其取回 我在/etc/apache2/apache2.conf中的Apache配置如下所示 Alias /data_uploads "/opt/data_uploads/" <Directory "/opt/data_uploads/"> Options Indexes Fo
/etc/apache2/apache2.conf
中的Apache配置如下所示
Alias /data_uploads "/opt/data_uploads/"
<Directory "/opt/data_uploads/">
Options Indexes FollowSymLinks MultiViews
Require all granted
AllowOverride all
Order allow,deny
Allow from all
</Directory>
Alias/data\u uploads”/opt/data\u uploads/“
选项索引跟随符号链接多视图
要求所有授权
允许超越所有
命令允许,拒绝
通融
但问题是当我做http://123.45.67.89/data_uploads
通过浏览器,每个人都可以完全访问它,这很危险,任何人都可以看到上传到那里的图像
为了避免这种情况,我尝试要求所有被拒绝的现在我得到403,但是我的所有Ajax get请求也失败了
现在我想让我的网站访问它,但如果有人试图访问http://123.45.67.89/data_uploads
应该是403,我如何克服这个问题?在您的配置中,您允许每个人访问您的上载目录
您必须删除此,或者只允许您的IP
但在您的情况下,您想要的是允许您的用户上传和下载允许他们上传的文件。
这意味着您希望他们的http请求能够上载/下载文件。这些http请求不会直接访问上载目录,但会调用您的php应用程序
然后,您的php应用程序将能够上载到此目录(然后写入此目录)并从该目录读取。
为此,您必须向运行chmod和/或chown之类进程的apache用户授予读/写权限。
最后,您必须编写一个能够处理上传和下载调用的PHP控制器。php代码将从您的上传目录中写入和读取。Hi@Nico,感谢您的回答选项索引FollowSymLinks多视图要求所有拒绝允许所有越级命令允许,deny#Allow from all并使/opt/data_uploads/
可访问www data
现在我可以写入它,但不能直接用ajax读取它,我需要编写PHP控制器来读取它。