apache验证-针对客户端IP,head头文件,以及用户名/密码的验证
2006-08-25 15:26
417 查看
本篇文章主要教给你,如何通过apache 进行验证访问你.so引擎的客户端用户,特别适合DSO模式。
现在告诉你两种模式:
1、服务端ip,refer 调用DSO引擎,403限制访问 (适合服务端调用)
2、用户名/密码弹出框 验证访问(适合url访问,客户端)
第一种、apache验证模式:服务端ip,refer 调用DSO引擎,403限制访问
对此你有以下几步操作完成。
第一步,你最好做一个auth.conf 验证成功文件,当然也可以直接写到 /etc/httpd/conf/httpd.conf 里面
#头文件中为 userid=001
SetEnvIfNoCase Referer "userid=001" local_ref=1
#访问引擎的 IP
SetEnvIfNoCase Remote_Addr "172.16.74.139" local_ref=1
第二步,验证,让只有auth.conf中 local_ref=1的用户才可以访问你的 DSO 服务
写一个 mod_search.conf (好习惯), /etc/httpd/conf/httpd.conf 中include它
#包含so模块
loadModule search_module modules/mod_search.so
#服务部署
<Location /LocalSearch>
SetHandler LocalSearch
Log4Cpp /apache/smartls/log4cpp.properties
WordTable /apache/smartls/smartlsData/wordTable.txt
WordTableEntry /apache/smartls/smartlsData/wordTableEntry.txt
PoiBal /apache/smartls/smartlsData/Poi.bal
PoiBas /apache/smartls/smartlsData/Poi.bas
PoiNdx /apache/smartls/smartlsData/Poi.ndx
PoiACode /apache/smartls/smartlsData/ACode.ndx
AnTable /apache/smartls/smartlsData/AnTable.txt
CnTable /apache/smartls/smartlsData/CnTable.txt
LsIDTable /apache/smartls/smartlsData/LsIDTable.idx
</Location>
#验证DSO服务,只有auth.conf的用户才可以访问
<Location /LocalSearch>
SetHandler LocalSearch
Order Allow,Deny
Allow from env=local_ref
</Location>
第二种、用户名/密码弹出框 验证访问(适合url访问,客户端)
#输入框 验证
<Location /LocalSearch>
SetHandler LocalSearch
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/awstats/passwd
Require user 51ditu_admin
require valid-user
</Location>
#查看认证的用户名密码
vi /usr/local/awstats/passwd
chaiqi:S4EYx.WkmiBLg
51ditu_admin:LYonGpvj1/5Es
#那个密码是这样生成的
htpasswd -c chaiqi.htpasswd chaiqi
输入2次密码就ok !
你也可以用mySql作为验证用户库
#AuthMySQLHost localhost
#AuthMySQLUser root
#AuthMySQLPassword 123456
#AuthMySQLPasswordField user_passwd
#AuthMySQLDB test
#AuthMySQLUserTable user_info
#AuthMySQLPwEncryption none
现在告诉你两种模式:
1、服务端ip,refer 调用DSO引擎,403限制访问 (适合服务端调用)
2、用户名/密码弹出框 验证访问(适合url访问,客户端)
第一种、apache验证模式:服务端ip,refer 调用DSO引擎,403限制访问
对此你有以下几步操作完成。
第一步,你最好做一个auth.conf 验证成功文件,当然也可以直接写到 /etc/httpd/conf/httpd.conf 里面
#头文件中为 userid=001
SetEnvIfNoCase Referer "userid=001" local_ref=1
#访问引擎的 IP
SetEnvIfNoCase Remote_Addr "172.16.74.139" local_ref=1
第二步,验证,让只有auth.conf中 local_ref=1的用户才可以访问你的 DSO 服务
写一个 mod_search.conf (好习惯), /etc/httpd/conf/httpd.conf 中include它
#包含so模块
loadModule search_module modules/mod_search.so
#服务部署
<Location /LocalSearch>
SetHandler LocalSearch
Log4Cpp /apache/smartls/log4cpp.properties
WordTable /apache/smartls/smartlsData/wordTable.txt
WordTableEntry /apache/smartls/smartlsData/wordTableEntry.txt
PoiBal /apache/smartls/smartlsData/Poi.bal
PoiBas /apache/smartls/smartlsData/Poi.bas
PoiNdx /apache/smartls/smartlsData/Poi.ndx
PoiACode /apache/smartls/smartlsData/ACode.ndx
AnTable /apache/smartls/smartlsData/AnTable.txt
CnTable /apache/smartls/smartlsData/CnTable.txt
LsIDTable /apache/smartls/smartlsData/LsIDTable.idx
</Location>
#验证DSO服务,只有auth.conf的用户才可以访问
<Location /LocalSearch>
SetHandler LocalSearch
Order Allow,Deny
Allow from env=local_ref
</Location>
第二种、用户名/密码弹出框 验证访问(适合url访问,客户端)
#输入框 验证
<Location /LocalSearch>
SetHandler LocalSearch
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/awstats/passwd
Require user 51ditu_admin
require valid-user
</Location>
#查看认证的用户名密码
vi /usr/local/awstats/passwd
chaiqi:S4EYx.WkmiBLg
51ditu_admin:LYonGpvj1/5Es
#那个密码是这样生成的
htpasswd -c chaiqi.htpasswd chaiqi
输入2次密码就ok !
你也可以用mySql作为验证用户库
#AuthMySQLHost localhost
#AuthMySQLUser root
#AuthMySQLPassword 123456
#AuthMySQLPasswordField user_passwd
#AuthMySQLDB test
#AuthMySQLUserTable user_info
#AuthMySQLPwEncryption none
相关文章推荐
- WCF消息安全模式之自定义用户名密码:Message CustomUserNamePassword wsHttpBinding 使用Windows Services宿主以及客户端免证书验证
- WCF全双工以及用户名密码验证
- 使用用户名和密码验证apache登录
- restlet2.1 学习笔记(九)简单验证客户端用户名与密码
- “windows 2003域用户在客户端用域服务器IP和域名称访问IIS提示输入用户名密码”解决办法
- 客户端验证用户名和密码
- 客户端验证用户名和密码的方法详解
- pl/sql 如何配置连接远程一个或多个数据库(1.同一个ip不同用户名,2.不同ip不同用户名)以及记住密码
- 重现TortoiseSVN客户端的用户名密码验证框
- apache 日志中记录代理IP以及真实客户端IP
- 重现TortoiseSVN客户端的用户名密码验证框
- 使用用户名和密码验证apache登录
- apache用户名和密码验证
- apache 日志中记录代理IP以及真实客户端IP
- [JSP] 利用JavaScript来用户名和密码进行客户端的验证
- 利用hashtable模拟实现权限验证(同map思想-->只能有一个用户名,可重复密码)以及增删查改操作
- 重现TortoiseSVN客户端的用户名密码验证框
- apache用户名和密码验证
- nginx针对客户端ip进行限制:外网访问需要密码认证
- 重现TortoiseSVN客户端的用户名密码验证框(收藏)