Documente Academic
Documente Profesional
Documente Cultură
1. INTRODUCTION
1.1. MOTIVATION With advances in wireless communication and mobile positioning technologies, location-based services (LBSs) have been gaining increasingly popularity in recent years. This is evident from a recent report from ABI Research, which forecasts that LBS revenue is expected to reach an annual global total of $13.3 billion by 2013. But on the other hand, the privacy threat of revealing a mobile users personal information through his/her location has become a key issue to be concerned. A lot of research has been conducted concerning how to enjoy location-based services while protecting the location privacy of mobile users. For example, using his/her PDA phone, Alice wants to find out the nearest hospital with specialty in ophthalmology while hiding her exact location (e.g., being in a clinic or at home) and the sensitive information that it is her (Alice) who made this query. A straightforward method is to replace her identity with a pseudonym before sending the query to the service provider. But this is not enough. Location information included in the query can be used as a quasiidentifier to re identify the user. Suppose the query was issued from Alices home; it can then be linked to Alice with some background knowledge (e.g., telephone directory).
Phase Phase 1
Task Analysis
Phase 2
Literature survey
Collect raw data and elaborate on literature surveys. Assign the module and design the process flow control. Implement the code for all the modules and integrate all the modules. Test the code and overall process weather the process works properly. Prepare the document for this project with conclusion and future enhancement.
Phase 3
Design
Phase 4
Implementation
Phase 5
Testing
Phase 6
Documentation
Although various algorithms exist for protecting location privacy in mobile services, but this ICliqueCloak algorithm fix the privacy levels at a similar range, but increase both the lower and upper bound, which implies that the privacy requirement of every request becomes more constrained.
2. LITERATURE SURVEY
2.1. INTRODUCTION
Anonymous Usage of Location-Based Services Through Spatial and Temporal Cloaking:Advances in sensing and tracking technology enable location-based applications but they also create significant privacy risks. Anonymity can provide a high degree of privacy, save service users from dealing with service providers privacy policies, and reduce the service providers requirements for safeguarding private information. However, guaranteeing anonymous usage of location-based services requires that the precise location information transmitted by a user cannot be easily used to re-identify the subject. This paper presents middleware architecture and algorithms that can be used by a centralized location broker service. The adaptive algorithms adjust the resolution of location information along spatial or temporal dimensions to meet specified anonymity constraints based on the entities who may be using location services within a given area. Using a model based on automotive traffic counts and cartographic material, we estimate the realistically expected spatial resolution for different anonymity constraints. The median resolution generated by our algorithms is 125 meters. Thus, anonymous location-based requests for urban areas would have the same accuracy currently needed for E-911 services; this would provide sufficient resolution for way finding, automated bus routing services and similar locationdependent services. On the Anonymity of Periodic Location Samples:As Global Positioning System (GPS) receivers become a common feature in cell phones, personal digital assistants, and automobiles, there is a growing interest in tracking larger user populations, rather than individual users. Unfortunately, anonymous location samples do not fully solve the privacy problem. An adversary could link multiple samples (i.e., follow the footsteps) to accumulate path information and eventually identify a user. This paper reports on our ongoing work to analyze privacy risks in such applications. We observe that
linking anonymous location samples is related to the data association problem in tracking systems. We then propose to use such tracking algorithms to characterize the level of privacy and to derive disclosure control algorithms. Privacy Preservation in the Publication of Trajectories:We study the problem of protecting privacy in the publication of location sequences. Consider a database of trajectories, corresponding to movements of people, captured by their transactions when they use credit or RFID debit cards. We show that, if such trajectories are published exactly (by only hiding the identities of persons that followed them), there is a high risk of privacy breach by adversaries who hold partial information about them (e.g., shop owners). In particular, we show that one can use partial trajectory knowledge as a quasiidentifier for the remaining locations in the sequence. We device a data suppression technique, which prevents this type of breach, while keeping the posted data as accurate as possible.
2.2. SOFTWARE ENVIRONMENT:Java Technology Java technology is both a programming language and a platform.
The Java Programming Language The Java programming language is a high-level language that can be characterized by all of the following buzzwords:
1. Simple 2. Architecture neutral 3. Object oriented 4. Portable 5. Distributed 6. High performance 7. Interpreted 8. Multithreaded 9. Robust 10. Dynamic 11. Secure
With most programming languages, you either compile or interpret a program so that you can run it on your computer. The Java programming language is unusual in that a program is both compiled and interpreted. With the compiler, first you translate a program into an intermediate language called Java byte codes the platform-independent codes interpreted by the interpreter on the Java platform. The interpreter parses and runs each Java byte code instruction on the computer. Compilation happens just once; interpretation occurs each time the program is executed. The following figure illustrates how this works.
Figure 1: Working of java Java byte codes as the machine code instructions for the Java Virtual Machine (Java VM). Every Java interpreter, whether its a development tool or a Web browser that can run applets, is an implementation of the Java VM. Java byte codes help make write once, run anywhere possible. You can compile your program into byte codes on any platform that has a Java compiler. The byte codes can then be run on any implementation of the Java VM. That means that as long as a computer has a Java VM, the same program written in the Java programming language can run on Windows 2000, a Solaris workstation, or on an iMac.
The Java Platform A platform is the hardware or software environment in which a program runs. Weve already mentioned some of the most popular platforms like Windows 2000, Linux, Solaris, and MacOS. Most platforms can be described as a combination of the operating system and hardware. The Java platform differs from most other platforms in that its a software-only platform that runs on top of other hardware-based platforms. The Java platform has two components:
The Java Virtual Machine (Java VM) The Java Application Programming Interface (Java API)
Its the base for the Java platform and is ported onto various hardware-based platforms. The Java API is a large collection of ready-made software components that provide many useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped into libraries of related classes and interfaces; these libraries are known as packages. The next section, What Can Java Technology Do? Highlights what functionality some of the packages in the Java API provide. The following figure depicts a program thats running on the Java platform. As the figure shows, the Java API and the virtual machine insulate the program from the hardware.
Figure 2: The Java Platform Native code is code that after you compile it, the compiled code runs on a specific hardware platform. As a platform-independent environment, the Java platform can be a bit slower than native code. However, smart compilers, well-tuned
interpreters, and just-in-time byte code compilers can bring performance close to that of native code without threatening portability.
What Can Java Technology Do? The most common types of programs written in the Java programming language are applets and applications. If youve surfed the Web, youre probably already familiar with applets. An applet is a program that adheres to certain conventions that allow it to run within a Java-enabled browser. However, the Java programming language is not just for writing cute, entertaining applets for the Web. The general-purpose, high-level Java programming language is also a powerful software platform. Using the generous API, you can write many types of programs. An application is a standalone program that runs directly on the Java platform. A special kind of application known as a server serves and supports clients on a network. Examples of servers are Web servers, proxy servers, mail servers, and print servers. Another specialized program is a servlet. A servlet can almost be thought of as an applet that runs on the server side. Java Servlets are a popular choice for building interactive web applications, replacing the use of CGI scripts. Servlets are similar to applets in that they are runtime extensions of applications. Instead of working in browsers, though, servlets run within Java Web servers, configuring or tailoring the server. How does the API support all these kinds of programs? It does so with packages of software components that provides a wide range of functionality. Every full implementation of the Java platform gives you the following features:
1. The essentials: Objects, strings, threads, numbers, input and output, data
users worldwide. Programs can automatically adapt to specific locales and be displayed in the appropriate language.
5. Security: Both low level and high level, including electronic signatures,
component architectures.
7. Object serialization: Allows lightweight persistence and communication via
range of relational databases. The Java platform also has APIs for 2D and 3D graphics, accessibility, servers, collaboration, telephony, speech, animation, and more. The following figure depicts what is included in the Java 2 SDK.
Figure 3: Java 2 Sdk How Will Java Technology Change My Life? We cant promise you fame, fortune, or even a job if you learn the Java programming language. Still, it is likely to make your programs better and requires less effort than other languages. We believe that Java technology will help you do the following:
1. Get started quickly:
Although the Java programming language is a powerful object-oriented language, its easy to learn, especially for programmers already familiar with C or C++.
2. Write less code:
Comparisons of program metrics (class counts, method counts, and so on) suggest that a program written in the Java programming language can be four times smaller than the same program in C++.
3. Write better code:
The Java programming language encourages good coding practices, and its garbage collection helps you avoid memory leaks. Its object orientation, its JavaBeans component architecture, and its wide-ranging, easily extendible API let you reuse other peoples tested code and introduce fewer bugs.
Our development time may be as much as twice as fast versus writing the same program in C++. Why? You write fewer lines of code and it is a simpler programming language than C++.
5. Avoid platform dependencies with 100% Pure Java:
We can keep your program portable by avoiding the use of libraries written in other languages. The 100% Pure Java Product Certification Program has a repository of historical process manuals, white papers, brochures, and similar materials online.
6. Write once, run anywhere:
Because 100% Pure Java programs are compiled into machineindependent byte codes, they run consistently on any Java platform.
10
snapshot user locations only. The prior solutions in only considered the cloaking granularity as the privacy metric
Disadvantages: 1. With location k-anonymity model, are concerned with snapshot user locations only. 2. Not considered the effect of continuous location updates 3. It may result in serious privacy breaches when different one-shot queries are frequently issued by a mobile user
11
3. ANALYSIS
3.1. INTRODUCTION:
The existing work in terms of attack models. The techniques for preventing snapshot location attacks, location-dependent attacks, query tracking attacks, and trajectory attacks. When exact snapshot locations are disclosed, two kinds of attacks may happen: location linking attacks and query sampling attacks. Location linking attacks refer to the scenario where the location information included in a user query is used as a quasi-identifier to reidentify the user. For example, if a location exclusively belongs to some owner, the corresponding query can thus be linked to the location owner. The location k-anonymity model was proposed to prevent this kind of attacks [19]. The basic idea is to extend an exact user location to a cloaked region that covers at least k users. Preventing Query tracking attacks: For a continuous query, the query results would be continuously returned for a designated time period (called query lifetime). For example, consider a sample query finding the nearest gas station in the next five minutes. The query lifetime is 5 minutes. Query tracking attacks become possible if a user is cloaked with different users at different time instances during the query lifetime. The main focus of this project is Preventing Location Dependent Attacks, To prevent location-dependent attacks, proposed two simple solutions, namely patching and delaying. The first solution, called patching, enlarges the current cloaked region to cover the last one so that the overlapped area with the MMB is at least as large as the last cloaked region. The drawback is that the size of the cloaked region would increase significantly as time evolves. The second solution, called delaying, suspends the request by _t time until the MMB grows large enough to fully contain the current cloaked region. Another related work which is employed entropy as entropy does not care whether user locations are actually different, the exact user location would be disclosed if all k users are at the same location.
12
13
CPU: 32-bit or 64-bit Cores: Single (Single Core 3GHz or higher, Dual Core 2GHz or higher recommended)
3.
RAM: 2 GB
Pluggable-Annotations: Java tool and framework vendors can define annotations and have core API support for plugging in and executing the processors that do the heavy lifting. It seamlessly integrates your custom annotations. Desktop Deployment: Better platform look-and-feel in Swing technology, LCD text rendering (more clarity on LCD monitors like Vista), and snappier GUI performance overall. Java applications can integrate better with the native platform with things like new access to the platform's System Tray and Start menu. At long last, Mustang unifies the Java Plug-in technology and Java Web Start engines, which just makes sense. Installation of the Java WebStart application got a much needed makeover. Security: Mustang simplified the job of security administrators by providing various new ways to access platform-native security services, such as native Public Key Infrastructure (PKI) and cryptographic services on Microsoft Windows for secure authentication and communication, Java Generic Security Services (Java GSS) and
14
Kerberos services for authentication, and access to LDAP servers for authenticating users.
15
1: add a new clique fug to MCSet 2: if the user of u had not issued any query before then 3: set us last cloaked region to the whole service area 4: find us neighbors 5: push all edges connecting u and its neighbors to EdgeQueue 6 :while EdgeQueue is not empty do 7: MCSet0 ; 8: pop up the first edge euw from EdgeQueue 9: find clique sets Cu t and Cw t in MCSet 10: compute C Cu t \ Cw t 11: for each c 2 C do add c [fu;wg to MCSet0 12: C MCSet0 13: for each ci 2 Cu t [ Cw t do 14: for each ck 2 C do 15: if ci 6_ ckthen add ci to MCSet0 16: for each ci 2 MCSet _ Cu t _ Cw t do 17: add ci to MCSet0 18: MCSet MCSet0 Note that Algorithm 2 involves a lot of set operations on the maximal cliques. Thus, in the actual implementation, we represent each maximal clique by a bit vector to ease the computation. For example, suppose that there are five nodes in the graph fA; B;C; D;Eg. Given a maximal clique of fA;C;Dg, it is represented by a bit vector of <10110>. The length of the bit vector is equal to the number of nodes in the graph. Even for a large system with 10 K users, only 1.2 Kbytes are needed to store a bit vector, which is acceptable to todays computer.
16
4. DESIGN
4.1. INTRODUCTION
Design is the process of having systems personnel check out and put new equipment in to use, train users, install the new application, and construct any files of data needed to it. Once installed, applications are often used for many years. However, both the organization and the users will change, and the environment will be different over the weeks and months. Therefore, the application will undoubtedly have to be maintained. Design is the first step in the development phase for an engineered product or system. development. Design is the only way that we can accurately translate a users requirements into a finished software product or system. Software design serves as the foundation for all software engineers and software maintenance steps that follow. Without design we risk building an unstable design one that will fail when small changes are made, one that may be difficult to test, and one whose quantity cannot be assessed until late in the software engineering process. Design is the place where quality is fostered in software
Taking software requirements specification document of analysis phase as input to the design phase we have drawn Unified Modeling Language (UML) diagrams. UML depends on the Visual modeling of the system. Visual modeling is the process of taking the information from the model and displaying it graphically using some sort of standards set of graphical elements.
UML Diagrams are drawn using the Rational Rose Software, which is licensed by IBM Corp. We seem to be able to understand complexity better when it is displayed to us visually as opposed to written textually. By producing visual models of a system, we can show how system works on several levels. We can model the interactions between the users and the system.
17
4.2.
Uml Diagrams:
Use case diagrams Use case diagrams describe what a system does from the standpoint of an external observer. The emphasis is on what a system does rather than how. Use case diagrams are closely connected to scenarios. A scenario is an example of what happens when someone interacts with the system. Here is a scenario for a medical clinic. "A patient calls the clinic to make an appointment for a yearly checkup. The receptionist finds the nearest empty time slot in the appointment book and schedules the appointment for that time slot. "
18
A use case is a summary of scenarios for a single task or goal. An actor is who or what initiates the events involved in that task. Actors are simply roles that people or objects play. The picture below is a Make Appointment use case for the medical clinic. The actor is a Patient. The connection between actor and use case is a communication association (or communication for short). Actors are stick figures. Use cases are ovals. Communications are lines that link actors to use case.
Figure 8: Use case Diagram A use case diagram is a collection of actors, use cases, and their communications. We've put Make Appointment as part of a diagram with four actors and four use cases. Notice that a single use case can have multiple actors. Use case diagrams are helpful in three areas. Determining features (requirements). New use cases often generate new requirements as the system is analyzed and the design takes shape. Communicating with clients. Their notational simplicity makes use case diagrams a good way for developers to communicate with clients. Use Case Diagram:
19
Figure 9: Use Case Diagram. Class Diagram: A Class diagram gives an overview of a system by showing its classes and the relationships among them. Class diagrams are static -- they display what interacts but not what happens when they do interact. The class diagrams below models a customer order from a retail catalog. The central class is the Order. Associated with it is the Customer making the purchase and the Payment. A Payment is one of three kinds: Cash, Check, or Credit. The order contains OrderDetails (line items), each with its associated Item. UML class notation is a rectangle divided into three parts: class name, attributes, and operations. Names of abstract classes, such as Payment, are in italics. Relationships between classes are the connecting links. Our class diagram has three kinds of relationships.
20
Association -- a relationship between instances of the two classes. There is an association between two classes if an instance of one class must know about the other in order to perform its work. In a diagram, an association is a link connecting two classes. Aggregation -- an association in which one class belongs to a collection. An aggregation has a diamond end pointing to the part containing the whole. In our diagram, Order has a collection of OrderDetails. Generalization -- an inheritance link indicating one class is a superclass of the other. A generalization has a triangle pointing to the superclass. Payment is a superclass of Cash, Check, and Credit. An association has two ends. An end may have a role name to clarify the nature of the association. For example, an Order Detail is a line item of each Order. A navigability arrow on an association shows which direction the association can be traversed or queried. An OrderDetail can be queried about its Item, but not the other way around. The arrow also lets you know who "owns" the association's implementation; in this case, OrderDetail has an Item. Associations with no navigability arrows are bi-directional. The multiplicity of an association end is the number of possible instances of the class associated with a single instance of the other end.
Class diagram:
21
Figure 10: Class Diagram of the project A class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among the classes. Sequence diagrams Class and object diagrams are static model views. Interaction diagrams are dynamic. They describe how objects collaborate. A sequence diagram is an interaction diagram that details how operations are carried out -- what messages are sent and when. Sequence diagrams are organized according to time. The time progresses as you go down the page. The objects involved in the operation are listed from left to right according to when they take part in the message sequence. Below is a sequence diagram for registering a node.
22
Figure 11: Sequence Diagram Activity diagrams An activity diagram is essentially a fancy flowchart. Activity diagrams and state chart diagrams are related. While a state chart diagram focuses attention on an object undergoing a process (or on a process as an object), an activity diagram focuses on the flow of activities involved in a single process. The activity diagram shows the how those activities depend on one another. Activity diagrams can be divided into object swimlanes that determine which object is responsible for which activity. A single transition comes out of each activity, connecting it to the next activity. A transition may fork into two or more parallel activities. The fork and the subsequent join of the threads coming out of the fork appear in the diagram as solid bars.
23
24
the mobile device. This has become more and more important with the expansion of the smart phone and tablet markets as well.
4.3.2. K-Anonymity:
One of the emerging concepts in micro data protection is kanonymity, which has been recently proposed as a property that captures the protection of a micro data table with respect to possible re-identication of the respondents to which the data refer. K-anonymity demands that every tuple in the micro data table released be indistinguishably related to no fewer than k respondents. One of the interesting aspects of k-anonymity is its association with protection techniques that preserve the truthfulness of the data. In this chapter we discuss the concept of k-anonymity, from its original proposal illustrating its enforcement via generalization and suppression. We then survey and discuss research results on k-anonymity in particular with respect to algorithms for its enforcement. We also discuss different ways in which generalization and suppressions can be applied to satisfy k- anonymity and, based on them, introduce taxonomy of k-anonymity solutions.
25
26
27
Sql Create: The CREATE Statement is used to create tables, database and index in a database. Syntax: CREATE TABLE table_name (column1 datatype,column2 datatype,.)
28
department
Create table mobileregistration(id varchar2(100), password varchar2(200), name varchar2(200), address varchar2(300), dob varchar2(100), gender varchar2(100), emailid varchar2(300), phone varchar2(200), securityq varchar2(200),answer varchar2(200),proof varchar2(200),date1varchar2(100))
SQL INSERT INTO: The INSERT INTO statement is used to insert data into database tables. Syntax: INSERT INTO table name VALUES (value1, value2, ) Example: To insert a new row into mobileregistration table use INSERT INTO statement like this: Insert into mobileregistration(id) values('08690'); Insert into mobilelogin values('admin','admin','admin'); Insert into mobileauthreg(id) values('07690'); SQL SELECT: The SELECT statement is used to select data from a table. The tabular result is stored in a result table called result-set.
Example: To select the content of columns named Lastname and FirstName, from the database table called Person, use a SELECT statement like this:
SELECT LastName, FirstName FROM Person To select all columns from the mobilelogin table, use a * symbol instead of column names, like this: SELECT * FROM mobilelogin;
SQL UPDATE: The UPDATE statement is used to modify the data in a table.
29
Syntax: DELETE FROM table_name WHERE column_name= some_value Example: To delete a row from the table direction, we use DELETE statement like this: DELETE FROM direction where PHONE=9493915295; SQL ALTER TABLE: The ALTER TABL statement is used to add or drop columns in an existing table. Syntax: To add a column: ALTER TABLE table_name ADD column_name datatype To drop a column: ALTER TABLE table_name DROP COLUMN column_name
Servlets are server side components which accepts, process the request and give response for request. Web server will take the request and web container will pass the request to respective servlet. Java Database Connectivity (JDBC) is an API developed by Sun Microsystems that provides a standard way to access data using the Java programming language. Using JDBC, an application can access a variety of databases and run on any platform with a Java Virtual Machine
Steps for connecting to a database: 1. Connection Initialization 2. Establishing Connection with a data Source
30
Importing Packages
import javax.swing.JButton; Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes (JFC) an API for providing a graphical user interface (GUI) for Java programs.Swing was developed to provide a more sophisticated set of GUI components than the earlier Abstract Window Toolkit (AWT). Swing provides a native look and feel that emulates the look and feel of several platforms, and also supports a pluggable look and feel that allows applications to have a look and feel unrelated to the underlying platform. It has more powerful and flexible components than AWT. In addition to familiar components such as buttons, check box and labels, Swing provides several advanced components such as tabbed panel, scroll panes, trees, tables and lists. Unlike AWT components, Swing components are not implemented by platform-specific code. Instead they are written entirely in Java and therefore are platform-independent. The term "lightweight" is used to describe such an element. import java.sql.*; To execute database queries we need to import this package.
import java.io.*; IO package is used to handle the Io Exceptions which may be raised while Execution of the servlet.
31
Here class is a class and forName is a static method in java API which returns the Class object associated with the class with the given string name. Syntax: class.forName (oracle.jdbc.driver.OracleDriver);
Types of JDBC Drivers Today, there are four types of JDBC drivers in use: Type 1: JDBC-ODBC Bridge Type 2: partial Java driver Type 3: pure Java driver for database middleware Type 4: pure Java driver for direct-to-database
It is used to connect to oracle database. It converts JDBC calls into the vendorspecific database management system (DBMS) protocol so that client applications can communicate directly with the database server. Since type 4 JDBC drivers don't have to translate database requests to ODBC or a native connectivity interface or to pass the request on to another server, performance is good. Sun.jdbc.odbc is the package in which jdbc odbc driver is present.
Opening Connection: get Connection is the method used to establish connection. Syntax: Connectioncon=DriverManager.getConnection (jdbc:oracle:thin:@newideas:1521:oracle,lbs1,location); When driver is loaded it should register with driver manager and for getting database connection we are using driverManager.getConnection. Here, Jdbc: oracle: thin -is the driver newideas is the system on which database is running. On a particular port number each server will listen to a particular request and the default port number is 1521 and the port number can also be changed. lbs1 is the user name and location is the password for accessing oracle database.
32
Query execution: There are three types of statements for executing queries. i. Callable Statement: Used to execute functions or procedures available in database. ii. Statement: It is used to execute SQL statements. Syntax: Statement smt=con.createStatement (); iii. Prepared Statement: Used to prepare statements with place holders (?) to execute the values at run time.
Syntax: Prepared Statement ps=Connection.prepareStatement (select * from city); Prepared Statement ps=connection.prepareStatement (insert into emp (empno, empname) values (?,?)); Placeholders are type of variables which hold the values retrieved from database. There are two methods to execute Queries. i. executeQuery (): It is the method which is used to execute query. Its return Type is Result Set and it always returns a Boolean value. If the query is executed successfully then Result Set is true else false. Syntax: Result Set result=prepareStatment.executeQuery ();
ii. executeupdate (): It is method which is used for the manipulation of data present in the table. Its return type is integer which returns two values 0 or 1.If the query is executed successfully it returns 1 else 0. Syntax: Statement.executeUpdate (insert into user demo);
33
Each server will provide its maximum capacity of connections. If we try to open the connection other than the maximum capacity of server then it may lead to server hang up. To overcome such problems we need to close the connection, and is written in finally block.
34
<html> <body> <form method=get action=do.jsp> <input type=text name=t1> <input type=submit value=click> </form> </body> </html> do.jsp:-
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Unit Testing The primary goal of unit testing is to take the smallest piece of testable software in the application, isolate it from the remainder of the code, and determine whether it behaves exactly as you expect. Each unit is tested separately before integrating them into modules to test the interfaces between modules. Unit testing has proven its value in that a large percentage of defects are identified during its use.
Integration Testing Integration testing (sometimes called Integration and Testing) is the activity[of software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before system testing. Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates,
57
applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing.
Acceptance Testing Acceptance testing by the system provider is often distinguished from acceptance testing by the customer (the user or client) prior to accepting transfer of ownership. In such environments, acceptance testing performed by the customer is known as user acceptance testing (UAT). This is also known as end-user testing, site (acceptance) testing, or field (acceptance) testing.
Functional testing tests the product according to programmable work. System testing tests an integrated system to verify/validate that it meets its requirements.
3.
Acceptance testing can be conducted by the client. It allows the end-user or customer or client to decide whether or not to accept the product. Acceptance testing may be performed after the testing and before the implementation phase. See also Development stage
Alpha testing is simulated or actual operational testing by potential users/customers or an independent test team at the developers' site. Alpha testing is often employed for off-the-shelf software as a form of internal acceptance testing, before the software goes to beta testing. Beta testing comes after alpha testing. Versions of the software, known as beta versions, are released to a limited audience outside of the company. The software is released to groups of people so that further testing can ensure the product has few faults or bugs. Sometimes, beta versions are made available to the open public to increase the feedback field to a maximal number of future users.
58
It should be noted that although both Alpha and Beta are referred to as testing it is in fact use emersion. The rigors that are applied are often unsystematic and many of the basic tenets of testing process are not used. The Alpha and Beta period provides insight into environmental and utilization conditions that can impact the software. After modifying software, either for a change in functionality or to fix defects, a regression test re-runs previously passing tests on the modified software to ensure that the modifications haven't unintentionally caused a regression of previous functionality. Regression testing can be performed at any or all of the above test levels. These regression tests are often automated. A test case is a software testing document, which consists of event, action, input, output, expected result and actual result. Clinically defined (IEEE 829-1998) a test case is an input and an expected result. This can be as pragmatic as 'for condition x your derived result is y', whereas other test cases described in more detail the input scenario and what results might be expected. It can occasionally be a series of steps (but often steps are contained in a separate test procedure that can be exercised against multiple test cases, as a matter of economy) but with one expected result or expected outcome. The optional fields are a test case ID, test step or order of execution number, related requirement(s), depth, test category, author, and check boxes for whether the test is automatable and has been automated. Larger test cases may also contain prerequisite states or steps, and descriptions. A test case should also contain a place for the actual result. These steps can be stored in a word processor document, spreadsheet, database or other common repository. In a database system, you may also be able to see past test results and who generated the results and the system configuration used to generate those results. These past results would usually be stored in a separate table. The term test script is the combination of a test case, test procedure and test data. Initially the term was derived from the byproduct of work created by automated regression test tools. Today, test scripts can be manual, automated or a combination of both. The most common term for a collection of test cases is a test suite.
59
The test suite often also contains more detailed instructions or goals for each collection of test cases. It definitely contains a section where the tester identifies the system configuration used during testing. A group of test cases may also contain prerequisite states or steps, and descriptions of the following tests. Collections of test cases are sometimes incorrectly termed a test plan. They might correctly be called a test specification. If sequence is specified, it can be called a test script, scenario or procedure. Test Case 1:
Test case 1: Mobile Client Registration Test Objective: To enter all the details given in the registration form. Test Description : After entering into the registration page the mobile client must submit all the valid credentials, if not the exception will displayed in the alert message box. Requirements Verified: Yes Test Environment: In JSP page, runs at server (ApacheTomcat) with Back-end Oracle DB Test Setup/Pre-Conditions: Client should be able to open the localhost at port no. 8089 Actions Click the Clients Registration on the home page and must provide all details make sure the M Expected Results Details will store in database. And the message will display
fields should not be left blank. Then click Register now. User-Registered-successfully Pass: Yes Problems / Issues: NIL Notes: Successfully Executed Conditions pass: No Fail: No
60
Test Case 2:
Test case 2: Finding the location of a mobile client Test Objective: To find out the mobile client location by using client details. Test Description : After successful user login he/she must enter the Phone Number , Security question, answer, proof for searching his/her location. Requirements Verified: Yes Test Environment: In JSP page, runs at server (ApacheTomcat) with Back-end Oracle Test Setup/Pre-Conditions: Client should be able to open the localhost at port no. 8089 Actions Enter the correct user details and the values must match to the registration details. Then click on Search button. Pass: Yes Problems / Issues: NIL Notes: Successfully Executed Expected Results Redirect to Google Maps and display the location with mobile number and client name. Conditions pass: No Fail: No
61
Test Case 3:
Test case 2: Authorized User Registration Test Objective: To register the authorized user. Test Description : After successful login of administrator the authorized person can register by using admin credentials. Requirements Verified: Yes Test Environment: In JSP page, runs at server (ApacheTomcat) with Back-end Oracle Test Setup/Pre-Conditions: Client should be able to open the localhost at port no. 8089 Actions Enter the details regarding password, department, IP Address, MAC address and M check the accept conditions, but make sure the IP address and the MAC address must match to the systems address then click on Register Now. Pass: Yes Problems / Issues: NIL Notes: Successfully Executed Conditions pass: No Fail: No Expected Results Details will store in database. And the message will display Authorized-User-RegisteredSuccessfully.
62
6.3. VALIDATION
The system has been tested and implemented successfully and thus ensured that all the requirements as listed in the software requirements specification are completely fulfilled. In case of erroneous input corresponding error messages are displayed. 1. Requirements Analysis: Testing should begin in the requirements phase of the software development life cycle. During the design phase, testers work with developers in determining what aspects of a design are testable and under what parameter those tests work. 2. Test Planning: Test Strategy, Test Plan(s), Test Bed creation. 3. Test Development: Test Procedures, Test Scenarios, Test Cases, Test Scripts to use in testing software. 4. Test Execution: Testers execute the software based on the plans and tests and report any errors found to the development team. 5. Test Reporting: Once testing is completed, testers generate metrics and make final reports on their test effort and whether or not the software tested is ready for release. 6. Retesting the Defects Not all errors or defects reported must be fixed by a software development team. Some may be caused by errors in configuring the test software to match the development or production environment. Some defects can be handled by a workaround in the production environment. Others might be deferred to future releases of the software, or the deficiency might be accepted by the business user. There are yet other defects that may be rejected by the development team (of course, with due reason) if they deem it inappropriate to be called a defect m testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic.
63
7. CONCLUSION:
We investigated cloaking algorithms that protect location privacy against location-dependent attacks. We showed that most of the existing location cloaking algorithms cannot effectively defend against location dependent attacks as they are concerned with snapshot user locations only. To address this problem, we have employed a graph model to formalize the problem and transformed it to the problem of finding k-node cliques in the graph. We have proposed an incremental clique-based cloaking algorithm called ICliqueCloak to generate cloaked regions. A series of experiments has been conducted to evaluate ICliqueCloak under various system settings. The experimental results show that the price paid for location dependent attacks is small. The average processing time is only 5.7 ms and the cloaking success rate is about 97 percent for most cases, which validate the efficiency and effectiveness of the proposed ICliqueCloak algorithm.
64
REFERENCES:
[1] Athens Trucks Data, http://www.rtreeportal.org/, 2006. [2] ABI Research, http://www.abiresearch.com/press/1097-Mobile + Location + Based + Services + Revenue + to+Reach+$13.3+ Billion+Worldwide+by+2013, 2008. [3] O. Abul, F. Bonchi, and M. Nanni, Never Walk Alone: Uncertainty for Anonymity in Moving Objects Databases, Proc. IEEE 24th Intl Conf. Data Eng. (ICDE 08), pp. 376-385, Apr. 2008. [4] B. Bamba and L. Liu, Supporting Anonymous Location Queries in Mobile Environments with Privacygrid, Proc. 17th Intl Conf. World Wide Web (WWW 08), 2008. [5] C. Bettini, X.S. Wang, and S. Jajodia, Protecting Privacy against Location-Based Personal Identification, Proc. Second VLDB Workshop Secure Data Management, pp. 185-199, 2005. [6] K. Bharath, G. Ghinita, and P. Kalnis, Privacy-Preserving Publication of User Locations in the Proximity of Sensitive Sites, Proc. 20th Intl Conf. Scientific and Statistical Database Management (SSDBM 08), July 2008. [7] R. Cheng, Y. Zhang, E. Bertino, and S. Prabhakar, Preserving User Location Privacy in Mobile Data Management Infrastructures, Proc. Privacy Enhancing Technology Workshop (PET 06), 2006. [8] C. Chow and M.F. Mokbel, Enabling Private Continuous Queries for Revealed User Locations, Proc. 10th Intl Conf. Advances in Spatial and Temporal Databases (SSTD 07), 2007. [9] Directive 2002/58/EC of the European Parliament and of the Council of 12 July 2002, Official J. European Communities, pp. 37-47, 2002. [10] J. Du, J. Xu, X. Tang, and H. Hu, iPDA: Enabling Privacy- Preserving Location-Based Services, Proc. Conf. Mobile Data Management (MDM), 2007.
65
[11] G. Ghinita, P. Kalnis, and S. Skiadopoulos, Prive: Anonymous Location-Based Queries in Distributed Mobile Systems, Proc. 16th Intl Conf. World Wide Web (WWW 07), 2007. [12] G. Ghinita, P. Kalnis, A. Khoshgozaran, C. Shahabi, and K. Tan, Private Queries in Location Based Services: Anonymizers Are Not Necessary, Proc. ACM SIGMOD Intl Conf. Management of Data (SIGMOD 08), 2008. [13] B. Gedik and L. Liu, Location Privacy in Mobile Systems: A Personalized Anonymization Model, Proc. IEEE 25th Intl Conf. Distributed Computing Systems (ICDCS 05), pp. 620-629, 2005. [14] G. Ghinita, M.L. Damiani, and C. Silvestri, Preventing Velocity- Based Linkage Attacks in Location-Aware Applications, Proc. 17th ACM SIGSPATIAL Intl Conf. Advances in Geographic Information Systems (GIS 09), 2009. [15] G. Gidofalvi, X. Huang, and T.B. Pedersen, Privacy-preserving Data Mining on Moving Objects Trajectories, Proc. Intl Conf. Mobile Data Management (MDM), 2007. [16] A. Gkoulalas-Divanis, P. Kalnis, and V.S. Verykios, Providing KAnonymity in Location Based Services, SIGKDD Explorations Newsletter, vol. 12, no. 1, pp. 3-10, June 2010. [17] A. Gkoulalas-Divanis and V.S. Verykios, A Privacy-aware Trajectory Tracking Query Engine, SIGKDD Explorations Newsletter, vol. 10, no. 1, pp. 40-49, 2008. [18] A. Gkoulalas-Divanis, V.S. Verykios, and M.F. Mokbel, Identifying Unsafe Routes for Network-Based Trajectory Privacy, Proc. SIAM Intl Conf. Data Mining (SDM), 2009. [19] M. Gruteser and D. Grunwald, Anonymous Usage of Location- Based Services through Spatial and Temporal Cloaking, Proc. First Intl Conf. Mobile Systems, Applications and Services (MobiSys 03), pp. 163-168, 2003. [20] M. Gruteser and B. Hoh, On the Anonymity of Periodic Location Samples, Security in Pervasive Computing, vol. 3450, pp. 179-192, 2005.
66
[21] B. Hoh and M. Gruteser, Protecting Location Privacy Through Path Cloaking, Proc. SecureComm, 2005. [22] H. Hu and J. Xu, Non-Exposure Location Anonymity, Proc. IEEE Intl Conf. Data Eng. (ICDE 09), 2009. [23] H. Hu, J. Xu, S.T. On, J. Du, and J.K. Ng, Privacy-Aware Location Data Publishing, ACM Trans. Database Systems, vol. 35, no. 3, pp. 1-42, July 2010. [24] P. Kalnis, G. Ghinita, K. Mouratidis, and D. Papadias, Preventing LocationBased Identity Inference in Anonymous Spatial Queries, IEEE Trans. Knowledge and Data Eng., vol. 19, no. 12, pp. 1719-1733, Dec. 2007. [25] H. Kido, Y. Yanagisawa, and T. Satoh, Protection of Location Privacy Using Dummies for Location-Based Services, Proc. 25th Intl Conf. Distributed Computing Systems (ICPS 05), 2005. [26] J. Krumm, Inference Attacks on Location Tracks, Proc. Fifth Intl Conf. Pervasive Computing, 2007. [27] K. Lee, W.C. Lee, H.V. Leong, and B. Zheng, Navigational Path Privacy Protection: Navigational Path Privacy Protection, Proc. 18th ACM Conf. Information and Knowledge Management (CIKM), 2009. [28] L. Liu, From Data Privacy to Location Privacy: Models and Algorithms, Proc. 33rd Intl Conf. Very Large Data Bases (VLDB 07), pp. 1429-1430, 2007. [29] H. Lu, C.S. Jensen, and M.L. Yiu, A3D: Anonymity area aware, Dummy-Based Location Privacy in Mobile Services, Proc. Data Eng. for Wireless and Mobile Access (MobiDE 08), 2008. [30] S. Mascetti, C. Bettini, X.S. Wang, D. Freni, and S. Jajodia, Preserving Anonymity in Location-based Services When Requests From the Same Issuer May be Correlated, technical report, Univ. of Milan, Italy, 2007.
67
[31] M.F. Mokbel, C.Y. Chow, and W.G. Aref, The New Casper: Query Processing for Location Services Without Compromising Privacy, Proc. 32nd Intl Conf. Very Large Data Bases (VLDB 06), 2006. [32] D. Reid, An Algorithm for Tracking Multiple Targets, IEEE Trans. Automatic Control, vol. TAC-24, no. 6, pp. 843-854, Dec. 1979. [33] P. Samarati and L. Sweeney, Protecting Privacy When Disclosing Information: K-Anonymity and Its Enforcement Through Generalization and Suppression, Intl J. on Uncertainty, Fuzziness and Knowledge-Based Systems, vol. 10, no. 5, pp. 571588, 2002. [34] L. Sweeney, K-Anonymity: A Model for Protecting Privacy, Intl J. Uncertainty, Fuzziness and Knowledge-Based Systems, vol. 10, no. 5, pp. 557-570, 2002. [35] M. Terrovitis and N. Mamoulis, Privacy Preservation in the Publication of Trajectories, Proc. Ninth Intl Conf. Mobile Data Management (MDM 08), 2008. [36] Thomas Brinkhoff Network-Based Generator of Moving Objects, http://www.fhoow.de/institute/iapg/personen/brinkhoff/ generator/, 2008. [37] J. Xu, X. Tang, H. Hu, and J. Du, Privacy-Conscious Location- Based Queries in Mobile Environments, IEEE Trans. Parallel and Distributed Systems, vol. 21, no. 3, pp. 313-326, Mar. 2010. [38] T. Xu and Y. Cai, Location Anonymity in Continuous Location - Based Services, Proc. 15th Ann. ACM Intl Symp. Advances in Geographic Information Systems (GIS 07), 2007. [39] T. Xu and Y. Cai, Exploring Historical Location Data for Anonymity Preserving in Location-Based Services, Proc. IEEE INFOCOM, 2008.
Sites Referred:
1. http://www.sourcefordgde.com
68
69
ANNEXURE I
User Manual of Project:
1. Install the Java 1.6 in the machine. 2. Install the Oracle 10g XE database edition. 3. Install the Server Apache Tomcat version 6.0. 4. Set the path , for that right click on My Computer Properties AdvancedEnvironment Variable System Variable Edit(PATH) 5. In System Variable edit PATH ;C:\Program Files (x86)\Java\jdk1.6.0\bin;.; and click ok. 6. New Click and add CLASSPATH and copy the link C:\Program Files (x86)\Java\jdk1.6.0\lib; 7. Set the JDBC class path to the below locationc:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar; 8. Install the Eclipse IDE for J2EE.
70
71
<ul> <li class="first"><a href="home.jsp" title=""><font face="Monotype Corsiva" size="5">Home</font></a></li> <li><a href="registration.jsp" title=""><font face="Monotype Corsiva" size="5">Client's Registration</font></a></li> <li><a href="clientlogin.jsp" title=""><font face="Monotype Corsiva" size="5">Client's Login</font></a></li> <!-<li><a href="authlogin.jsp" title=""><font face="Monotype Corsiva"
size="5">Authorized Login</font></a></li>--> </ul> </div> </div> <!-- end #left --> <div id="right"> <div class="boxed"> <h2 class="heading"><font face="Times New Roman" size="2">Preventing-Mobile's</font></h2> <img src="images/11.png"> </div> </div> <!-- end #right --> <div id="center"> <div class="boxed">
72
<h1 class="heading"><font face="Monotype Corsiva" size="5">Welcome to Defence!</font></h1> <center><img src="images/12.jpg"></center> </div> </div> <!-- end #center --> <div style="clear: both;"> </div> <div id="footer"> <font face="Times New Roman" size="4">Copyright's 2013. All Rights Reserved..</font> </div> </body> </html> registration.jsp <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page import="data.*"%> <%@ page import="java.sql.*"%> <%@page import="java.util.Calendar"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>
73
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Foundation by FCT</title> <meta name="keywords" content="" /> <meta name="description" content="" /> <link href="default.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function validate(f2) { name_re=new RegExp("^[A-Za-z][a-zA-Z .]+$","g"); pwd_re=new RegExp("^[0-9a-zA-Z]+$","g"); email_re=new RegExp("^[a-zA-Z][\\w_.]+[@][\\w]+[.][a-zA-Z]+$","g"); phno_re=new RegExp("^[\\d]+","g");
var pas=document.f2.pas.value; var nam=document.f2.nam.value; var add=document.f2.add.value; var ema=document.f2.ema.value; var pho=document.f2.pho.value;
if(f2.pas.value=="") {
74
else if(!pas.match(pwd_re)) { window.alert(" password should contain alphanumerics only"); document.f2.pas.focus(); return false; } else if(pas.length<6) { window.alert("password should contain atleast 6 characters"); document.f2.pas.focus(); return false; } else if(f2.nam.value=="") { window.alert("Please Enter Your Name"); document.f2.nam.focus(); return false;
75
} else if(f2.add.value=="") { window.alert("Please Enter Address"); document.f2.add.focus(); return false; } else if(f2.dd.selectedIndex==0) { window.alert("Please select the date of Birth"); document.f2.dd.focus(); return false; }
else if(f2.mm.selectedIndex==0) { window.alert("Please select the month of Birth"); document.f2.mm.focus(); return false; }
else if(f2.yy.selectedIndex==0)
76
{ window.alert("Please select the year of Birth"); document.f2.yy.focus(); return false; } else if ( ( document.f2.gen[0].checked == false ) && ( document.f2.gen[1].checked == false ) ){ window.alert ( "Please choose Radio Button!" ); document.f2.gen[0].focus(); return false; } else if(f2.ema.value=="") { window.alert("Please enter your email id"); document.f2.ema.focus(); return false; }
77
} else if(f2.pho.value=="") { window.alert("Please enter your Contact No"); document.f2.pho.focus(); return false; } else if(pho.length<10) { window.alert("phone number should contain 10 digits "); document.f2.pho.focus(); return false; } else if(f2.squ.selectedIndex=="") { window.alert("Please select the Security Question"); document.f2.squ.focus(); return false; } else if(f2.ans.value=="") { window.alert("Please Enter Answer for Security Question");
78
document.f2.ans.focus(); return false; } else if(f2.pro.selectedIndex=="") { window.alert("Please select the proof you are going to submit"); document.f2.pro.focus(); return false; }
79
<div id="header"> <font face="Monotype Corsiva" size="6"><b>A DEFENCE SECLUSION AGAINST LOCATION BASED PERSONAL RECOGNITION</b></font> </div> <% ResultSet rs=DataCon.st.executeQuery("select max(id) from mobileregistration"); rs.next(); int ccno=rs.getInt(1)+1; String b=Integer.toString(ccno); %> <div id="left"> <div id="menu" class="boxed"> <h2 class="heading"><font face="Times New Roman" size="4">Pages</font></h2> <ul> <li class="first"><a href="home.jsp" title=""><font face="Monotype Corsiva" size="5">Home</font></a></li> <li><a href="registration.jsp" title=""><font face="Monotype Corsiva" size="5">Client's Registration</font></a></li> <li><a href="clientlogin.jsp" title=""><font face="Monotype Corsiva" size="5">Client's Login</font></a></li> <li><a href="authlogin.jsp" title=""><font face="Monotype Corsiva" size="5">Authorized Login</font></a></li>
80
</ul> </div> </div> <!-- end #left --> <div id="right"> <div class="boxed"> <h2 class="heading"><font face="Times New Roman" size="2">Preventing-Mobile's</font></h2> <img src="images/11.png"> </div> </div> <!-- end #right --> <div id="center"> <div class="boxed"> <h1 class="heading"><font face="Monotype Corsiva" size="5">Welcome to Defence!</font></h1> <form name ="f2" action="registration1.jsp" method="post" onSubmit="return validate(this)"> <center> <%! String msg; %> <center><%msg=request.getParameter("msg");%></center>
81
<table>
<tr> <td align="center" align="center" colspan="2" bgcolor=""><font size="6" face="Monotype Corsiva" color="black"><i> User Registration<br></br></i></font> <% if(msg!=null){%><font face="Times New Roman" color="black" size="4"><%=msg%></font><%} %> </td> </tr>
<tr> <td><font face="Times New Roman" color="black" size="4">User ID</font></td> <td align="center"><input type="hidden" name=uid value="<%=b %>" size="25"><font face="Times New Roman" color="black" size="4"><%=b %></font></td> </tr> <tr> <td><font face="Times New Roman" color="black" size="4">Password</font></td> <td><input type="password" name="pas" value="" size="30"></td>
82
</tr> <tr> <td><font face="Times New Roman" color="black" size="4">Name</font></td> <td><input type="text" name="nam" value="" size="30"></td> </tr> <tr> <td><font face="Times New Roman" color="black" size="4">address</font></td> <td><textarea rows="5" cols="23" name="add"></textarea></td> </tr> <tr> <td><font face="Times New Roman" color="black" size="4">Date of Birth</font></td> <td align=center > <select name=dd> <option value="default">Date</option> <%for(int i=1;i<32;i++) { %> <option value=<%=i%>><%=i%></option> <%}%>
</select>
83
<select name=mm> <option value="default">Month</option> <%for(int i=1;i<13;i++) { %> <option value=<%=i%>><%=i%></option> <%}%> </select> <select name=yy> <option value="default">Year</option> <%for(int i=1960;i<2031;i++) { %>
<option value=<%=i%>><%=i%></option> <%}%> </select></td> </tr> <tr> <td><font face="Times New Roman" color="black" size="4">Gender</font></td> <td><font size="4" face="Times New Romen"> <input type="radio" name="gen" value="Male"> Male <input type="radio" name="gen" value="Female"> Female</input></font></td>
84
</tr> <tr> <td><font face="Times New Roman" color="black" size="4">Email ID</font></td> <td><input type="text" name="ema" value="" size="30"></input></td> </tr> <tr> <td><font face="Times New Roman" color="black" size="4">Contact No</font></td> <td><input type="text" name="pho" value="" size="30"></input></td> </tr> <tr> <td align="center"><font face="Times New Roman" color="black" size="4">Security Question</font></td> <td><select size="1" name="squ"> <option selected>Select here</option> <option value="where you did your Schooling">where you did your Schooling</option> <option value="Your Birth Place">Your Birth Place</option><option value="Your Favourite Color">Your Favourite Color</option><option value="Your First Bike">Your First Bike</option><option value="your Favourite Place">your Favourite Place</option></select></td> </tr> <tr>
85
<td><font face="Times New Roman" color="black" size="4">Answer</font></td> <td><input type="text" name="ans" size="20"></input></td> </tr> <tr> <td><font face="Times New Roman" color="black" size="4">Proof</font></td> <td><select name="pro"> <option value="default">Select</option> <option value="Voter ID">Voter ID</option> <option value="Driving Licence">Driving License</option> <option value="Ration Card">Ration Card</option> <option value="Electrical Bill">Electrical Bill</option> <option value="Pan Card">Pan Card</option> </select></td> </tr> <tr> <td align=center align=center colspan=2><font size="4" face="Times New Romen" color="black"> <input type="checkbox" name="iac" value="I Accept"> I Accept above mention detail</font></td></tr> <tr>
86
<td colspan="2" align="center"><input type="submit" value=" Register Now "></td> </tr> <tr> <td align="center" align="center" colspan="2" bgcolor=""><font size="6" face="Monotype Corsiva" color="white"><i></i></font><br> </td> </tr> </table> </center> </form> </div> </div> <!-- end #center --> <div style="clear: both;"> </div> <div id="footer"> <font face="Times New Roman" size="4">Copyright's 2013. All Rights Reserved..</font> </div> </body> </html> clientlogin.jsp
87
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Foundation by FCT</title> <meta name="keywords" content="" /> <meta name="description" content="" /> <link href="default.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function validate(f2) { name_re=new RegExp("^[A-Za-z][a-zA-Z .]+$","g"); pwd_re=new RegExp("^[0-9a-zA-Z]+$","g"); email_re=new RegExp("^[a-zA-Z][\\w_.]+[@][\\w]+[.][a-zA-Z]+$","g"); phno_re=new RegExp("^[\\d]+","g");
88
document.f2.uid.focus(); return false; } else if(f2.pas.value=="") { window.alert("Please enter password"); document.f2.pas.focus(); return false; } else if(!pas.match(pwd_re)) { window.alert(" password should contain alphanumerics only"); document.f2.pas.focus(); return false; } else if (document.f2.iac.checked == false) { window.alert("Please Select I Accept"); document.f2.iac.focus(); return false; }
89
return true; } </script> </head> <body> <div id="header"> <font face="Monotype Corsiva" size="6"><b>A DEFENCE SECLUSION AGAINST LOCATION BASED PERSONAL RECOGNITION</b></font> </div> <div id="left"> <div id="menu" class="boxed"> <h2 class="heading"><font face="Times New Roman" size="4">Pages</font></h2> <ul> <li class="first"><a href="home.jsp" title=""><font face="Monotype Corsiva" size="5">Home</font></a></li> <li><a href="registration.jsp" title=""><font face="Monotype Corsiva" size="5">Client's Registration</font></a></li> <li><a href="clientlogin.jsp" title=""><font face="Monotype Corsiva" size="5">Client's Login</font></a></li> <li><a href="authlogin.jsp" title=""><font face="Monotype Corsiva" size="5">Authorized Login</font></a></li> </ul> </div>
90
</div> <!-- end #left --> <div id="right"> <div class="boxed"> <h2 class="heading"><font face="Times New Roman" size="2">Preventing-Mobile's</font></h2> <img src="images/11.png"> </div> </div> <!-- end #right --> <div id="center"> <div class="boxed"> <h1 class="heading"><font face="Monotype Corsiva" size="5">Welcome to Defence!</font></h1> <form name ="f2" action="clientlogin1.jsp" method="post" onSubmit="return validate(this)"> <center> <%! String msg; %> <center><%msg=request.getParameter("msg");%></center>
<table>
<tr>
91
<td align="center" align="center" colspan="2" bgcolor=""><font size="6" face="Monotype Corsiva" color="black"><i> User Login<br></br></i></font> <% if(msg!=null){%><font face="Times New Roman" color="black" size="4"><%=msg%></font><%} %> </td> </tr> <tr> <td><font face="Times New Roman" color="black" size="4">User ID</font></td> <td align="center"><input type="text" name=uid value="" size="30"></input></td> </tr> <tr> <td><font face="Times New Roman" color="black" size="4">Password</font></td> <td><input type="password" name="pas" value="" size="30"></input></td> </tr> <tr> <td align=center align=center colspan=2><font size="4" face="Times New Romen" color="black"> <input type="checkbox" name="iac" value="I Accept"> Stay in </input></font></td></tr> <tr> <td align="center"><input type="submit" value=" Sign In "></input></td>
92
<td align="center"><input type="reset" value=" Clear "></input></td> </tr> <tr> <td align="center" align="center" colspan="2" bgcolor=""><font size="6" face="Monotype Corsiva" color="white"><i></i></font><br> </td> </tr> </table> </center> </form> </div> </div> <!-- end #center --> <div style="clear: both;"> </div> <div id="footer"> <font face="Times New Roman" size="4">Copyright's 2013. All Rights Reserved..</font> </div> </body> </html>
93