我现在正在localhost上建立一个网站。我的文件在www文件夹中。 直接在www里面,我有index.php和更多的php页面。
我还有一些文件夹,如图片/包含用户提交的图片; css /包含所有css文件; js / width所有js文件并包含/带有一些PHP文件
我的问题是,当我在浏览器localhost / pictures中输入时,我会看到所有图片的列表。 localhost / css,localhsot / js或localhost / includes也是如此。你有我所有文件的列表。这意味着机器人可以很容易地下载我的所有文件,除了PHP文件(由于某种原因,这些文件没有正确下载:PHP代码无法访问)。
有没有办法阻止用户访问主目录?我想在www / pictures中写一个index.php文件,重定向到www的index.php。我对网站文件夹的结构/组织方面的最佳实践一无所知。
由于
答案 0 :(得分:2)
Sol 1:
您可以将.htaccess文件放在包含以下内容的文件夹中:
deny from all
这样你就无法打开该文件夹中的任何文件,但你可以将它们包含在php中而不会出现任何问题。
Sol 2:
# disable directory browsing
Options All -Indexes
答案 1 :(得分:2)
当有人试图通过在您希望阻止浏览的所有目录中放置.htaccess
文件来尝试浏览索引时,可以强制Apache显示禁止的消息。
在.htaccess
内,添加以下内容:
# disable directory browsing
Options All -Indexes
同样,您可以在Web根目录中创建robots.txt
文件,并添加以下内容:
User-agent: *
Disallow: /pictures/
Disallow: /css/
Disallow: /js/
Disallow: /includes/
当然,您应该了解防止机器人访问您图像的SEO影响。
答案 2 :(得分:1)
将以下代码添加到.htaccess到您的主项目文件夹
# disable directory browsing
Options All -Indexes
答案 3 :(得分:0)
将用户特定数据放在网络根目录之外的文件夹中。