Linux下同理。

Apache可以对某一目录下的文件进行安全认证,认证方式包括用户密码认证和IP过滤,下面我来一一说明。
首先要让Apache支持.htaccess才可使用认证控制,具体方法请参考:
如何让Apache支持.htaccess
然后编辑Apache2\conf\httpd.conf文件
标准密码认证方式

<Directory "D:\wwwroot">
Options Indexes FollowSymLinks
allowoverride authconfig
order allow,deny 
allow from all 
</Directory>
... 

解释:
“D:\wwwroot”为需要安全认证目标,请根据需要自行修改,可以设置为站点根目录,也可设置为站内子目录(比如管理目录)增强安全性
allowoverride authconfig 认证语句
此段代码的作用是对"D:\wwwroot”进行安全认证
在需要认证目录下建立 .htaccess 文件,在Windows下建立 .htaccess 文件有一个小技巧,正常情况下Windows文件命名规则是不允许建立“ .” 开头的文件,咱们可以编辑好之后另存为.htaccess文件,加入下列内容

AuthName "Login"
AuthType basic
AuthUserFile "D:\user.txt"
require valid-user 

用户密码信息保存在"D:\user.txt",不要将它放在网站目录,以防被下载。
下面我们来用Apache2\bin\htpasswd.exe 来生成密码,例如:

D:\Apache2\bin>htpasswd -cmdps d:\user.txt secer
New password: ***
Re-type new password: ***
Adding password for user secer 

建立名为 secer 的用户 密码是123
可以建立多个帐户
至此,我们已经完成对"D:\wwwroot"目录的密码认证设置,所有登录"D:\wwwroot"目录的用户都要求输出用户名和密码,针对任何地址。
下面举一个IP过滤认证的例子:

<Directory "D:\wwwroot">
Options Indexes FollowSymLinks
allowoverride authconfig
Order deny,allow    #顺序为先拒绝,后允许
Deny from all   #拒绝所有
Allow from 192.168.90.12    #允许某IP、IP段访问
Allow from  localhost   #允许本机访问
AuthName "Login"
AuthType basic
AuthUserFile "D:\user.txt"
require valid-user
</Directory> 
 
image 
源链接

Hacking more

...