Chinaunix首页 | 论坛 | 博客
  • 博客访问: 374145
  • 博文数量: 152
  • 博客积分: 6020
  • 博客等级: 准将
  • 技术积分: 850
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-11 19:20
文章分类

全部博文(152)

文章存档

2017年(1)

2010年(1)

2007年(3)

2006年(147)

我的朋友

分类: Java

2006-04-05 22:14:48

This servlet could be used for basic security in servlet.
When you want to limit the computers that can call a specific servlet.
You read the valid IP address from a properties file.
The IP of the computer calling the servlet (static IP) is compared with value in the property file.

If the values are the same then it is called from the correct computer.
Otherwise a message is displayed showing the error.

For demonstration purposes the IP Addresses are displayed.

Save the file as GetIPAddressServlet.java

Create text file called readip.props
Inside the file type:
ip=xxx.xxx.xx.xx
replace the ´x´ with the actual IP address you want to store. This will be used to compare with the IP address of the computer calling the servlet.

Copy the readip.props file into a directory which the servlet will be able to find. For example, c:winntsystem32

Compile the servlet.
javac GetIPAddressServlet.java

Copy the servlet class file into the servlet directory on the webserver (read vendor´s documentation).

Call the servlet
and it should display the IP addresses and the results of the comparison.


import java.io.*;
import java.lang.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class GetIPAddressServlet extends HttpServlet
{
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{

response.setContentType("text/html");
ServletOutputStream out = response.getOutputStream();
out.println(""); <BR>out.println("Get IP Address Servlet"); <BR>out.println("");
out.println("");

// Read properties file.
Properties properties = new Properties();
try
{
properties.load(new FileInputStream("readip.props"));
}
catch(IOException e)
{
e.printStackTrace();
}
String ipAddress = "";
String remoteIPAddress = "";
// Read the value of key - ip
ipAddress = properties.getProperty("ip");

out.println("ip address (from properties file) =" + ipAddress);
out.println("
");
// read the (remote) IP address of the requesting computer
remoteIPAddress = request.getRemoteAddr();
request.
out.println("remote ip address =" + remoteIPAddress);
out.println("
");

if (ipAddress.equals(remoteIPAddress))
{
out.println("Same IP Address");
}
else
{
out.println("Sorry, this is not the same IP Address");
}

out.println(" ");
out.close();

}
} 
阅读(996) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~