E Attendance System

Download as pdf or txt
Download as pdf or txt
You are on page 1of 36

National Institute of Technology, Kurukshetra

MINOR PROJECT REPORT


ON
E-ATTENDANCE+ MANAGEMENT SYSTEM

UNDER GUIDANCE OF:-

SUBMITTED BY:-

Dr. R.M.Sharma

Manisha Singh(111497)
Abhinav Rai(511004)
Sneha Bairagi(111717)

Candidates Declaration

We Manisha Singh, Abhinav Rai and Sneha Bairagi hereby declare that the work which is being presented in
ourB.Tech Minor Project entitled, E-Attendance+ System, in partial fulfillment of the requirement for the award
of the degree of Bachelor of technology (Computer Engineering) submitted to the department of Computer
Engineering, National Institute of Technology Kurukshetra is an authentic report of our own work carried out under
the supervision of Dr. R.M. Sharma . The work presented in this project has not been submitted by us for the award
of degree elsewhere.

Submitted By:

Manisha Singh (111497)

Sneha Bairagi (111717)

Abhinav Rai(511004)

Certificate
This is to certify that the above statement made by the candidate is correct to the best of my knowledge and belief.
Date : 27-11-2014
Place : Kurukshetra
(Dr. R.M.Sharma)
(Computer Engineering
Department)
NIT Kurukshetra

Acknowledgement
We would like to take the opportunity to express our sincere thanks and gratitude to our project guide, Dr. R.M
Sharma, Department of Computer Science and Engineering, NIT Kurukshetra for providing us the right direction
for the conduction of the project and also for his enlightening guidance that was vital for the successful completion
of the project. He exuded in us tremendous faith and confidence which inspired us to conquer all the challenges that
we faced during the project. Even the present project report would not have been possible without his valuable
guidance.
Without any dilution, we would also like to thank all the staff members of the computer labs since their cooperation and help to arrange the entire necessary infrastructure for carrying out the project was invaluable.

Manisha Singh (111497)


Sneha Bairagi (111717)
Abhinav Rai(511004)

INDEX
1

ABSTRACT

INTRODUCTION

SYSTEM ANALYSIS

S SYSTEM REQUIREMENTS

S SOFTWARE DESCRIPTION

10

PROJECT DESCRIPTION

14

7
8
TABLES

F FEASIBILITY STUDY

16

DATA FLOW DIAGRAMS

17

T TABLES

21

10

E-R DIAGRAM

24

11

SNAPSHOTS

25

12

SECURITY

30

13

CONCLUSION

33

14

FUTURE SCOPE

34

15

REFERENCES

35

ABSTRACT
E-Attendance+ Management System deals with the maintenance of the students attendance details. It is generates
the attendance of the student on basis of presence in class. It is maintained on the daily basis of their attendance. The
staffs will be provided with the separate username & password to make the students status. The staffs handling the
particular subjects responsible to make the attendance for all students. Only if the student present on that particular
period, the attendance will be calculated. Concerned subject teacher will enter the attendance corresponding to the
subject and then automatically total attendance and percentage of attendance will be calculated by E-Attendance+
Management System. This system will also provide the facility to teachers to upload a file on the server, view a file
on the server and they can also download a file. Teacher can also upload some matter that is of great interest to
students like they can upload some research papers regarding current topics which they think students should go
through them to enhance their knowledge. Teacher can also generate the monthly report and a mail will be send to
those students who are having short attendance. This system also tries to bridge the gap between the teacher and the
student. It provides facility to teacher to interact with the students and gave them the required instructions so that
students can work according to that. Students can view their attendance in their corresponding subjects and came to
know that whether they are having short attendance or not. They can the documents, pdfs uploaded by the teachers
and can download them. Students can also interact with teacher and ask their doubts regarding syllabus , projects,
sessionals and exams.

1. INTRODUCTION
1.1 OBJECTIVE:
E-Attendance+ Management System is a web application developed for maintaining the attendance of the student
on the daily basis in the collage. Here the staffs, who are handling the subjects, will be responsible to mark the
attendance of the students. Each staff will have a separate username and password . An accurate report based on the
student attendance is generated . This system will also help in evaluating attendance eligibility criteria of a student.
Report of the students attendance can be generated and mail will be send to those who are having short attendance.
Teacher can upload files for students and can also view and download the uploaded files. Students will have the
facility of viewing their attendance and they can download the files uploaded by teacher . Motive is also to bridge
the interaction gap between teacher and student by providing the interaction session between teacher and student.
By E-Attendance+ System we are trying to reduce the manual work to keep record of attendance of students.
Student will get notified by mail if he/she is having short attendance so that he/she can improve his/her attendance to
become eligible for exam. Teachers can manage attendance using computerized data management so that paperwork
can be eliminated. Generate attendance reports any time which help teachers to know whether a student a eligible for
exams.

2. SYSTEM ANALYSIS
2.1 INTRODUCTION
Analysis can be defined as breaking up of any whole so as to find out their nature, function etc. It defines design as
to make preliminary sketches of; to sketch a pattern or outline for plan. To plan and carry out especially by artistic
arrangement or in a skillful wall. System analysis and design can be characterized as a set of techniques and
processes, a community of interests, a culture and an intellectual orientation.
The various tasks in the system analysis include the following.

Understanding application.
Planning.
Scheduling.
Developing candidate solution.
Performing trade studies.
Performing cost benefit analysis.
Recommending alternative solutions.
Selling of the system.
Supervising, installing and maintaining the system.

This system manages to the analysis of the report creation and develops manual entry of the student attendance. First
design the students entry form , staff allocation and time table allocation forms. This project will helps the
attendance system for the department calculate percentage and reports for eligibility criteria of examination .The
application attendance entry system will provide flexible report for all students.

2.2 EXISTING SYSTEM


The Existing system is a manual entry for the students. Here the attendance will be carried out in the hand written
registers. It will be a tedious job to maintain the record for the user. The human effort is more here. The retrieval of
the information is not as easy as the records are maintained in the hand written registers. At the end of the session
calculating the net attendance of students is tedious and time consuming task. Students have to ask from teachers
their attendance in subjects so that they can keep track of their attendance which is also a time consuming task and
headache for teachers and students. Notes given by the teacher to students sometimes not able to reach the whole
class due to miscommunication between students and between student and teacher.

2.3 PROPOSED SYSTEM:


To overcome the drawbacks of the existing system, the proposed system has been evolved. This project aims to
reduce the paper work and saving time to generate accurate results from the students attendance. The system
provides with the best user interface. With the help of this system student can also be notified via mail if they are

having short attendance and students can also see their attendance whenever they want without asking the teacher to
see their attendance. The efficient reports can be generated by using this proposed system. Teacher can also upload
documents containing the required data or can upload the syllabus also. Interaction between teacher and student is
also provided by system to bridge the gap between teachers and students.

2.3.1Advantages of Proposed System

It is trouble-free to use.

It is relatively fast approach to enter attendance.

Is highly reliable,approximate result from user.

Best user interface.

Efficient reports.

3. SYSTEM SPECIFICATION
3.1 HARDWARE REQUIREMENTS (Minimum Requirement)

Hard Disk:-128 GB

Minimum Ram:-4GB

Processor:-Intel Pentium 4(1.50 GHZ) or above

3.2 SOFTWARE REQUIREMENTS (minimum Requirement)

Server : Wamp Server

Front-End language :HTML,CSS

Back-End :php

4. SOFTWARE DESCRIPTION
4.1 Wamp Server
Stands for "Windows, Apache, MySQL, and PHP ". WAMP is a variation of LAMP for Windows systems and is
often installed as a software bundle (Apache, MySQL, and PHP). It is often used for web development and internal
testing, but may also be used to serve live websites. The most important part of the WAMP package isApache (or
"Apache HTTP Server") which is used run theweb server within Windows. By running a local Apache web server
on a Windows machine, a web developer can test webpages in a web browser without publishing them live on the
Internet.
WAMP also includes MySQL and PHP, which are two of the most common technologies used for creating dynamic
websites[3]. MySQL is a high-speed database, while PHP is a scripting language that can be used to access data
from the database. By installing these two components locally, a developer can build and test a dynamic website
before publishing it to a public web server. While Apache, MySQL, and PHP are open source components that can
be installed individually, they are usually installed together. One popular package is called "Wamp Server " which
provides a user-friendly way to install and configure the "AMP" components on Windows.

4.2 HTML
HTML or Hyper Text Markup Language is the standard markup language used to create web pages[1]. HTML is
written in the form of HTML elements consisting of tags enclosed in angle brackets (like <html>). HTML tags most
commonly come in pairs like <h1> and </h1>, although some tags represent empty elements and so are unpaired, for
example<img>. The first tag in a pair is the start tag, and the second tag is the end tag (they are also called opening
tags and closing tags). A web browser can read HTML files and compose them into visible or audible web pages.
The browser does not display the HTML tags, but uses them to interpret the content of the page. HTML describes
the structure of a website semantically along with cues for presentation, making it a markup language rather than
a programming language. HTML elements form the building blocks of all websites. HTML allows images and
objects to be embedded and can be used to create interactive forms. It provides a means to create structured
documentts by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other
items. It can embed scripts written in languages such as JavaScript which affect the behavior of HTML web
pages.Web browsers can also refer to Cascading Style Sheets(CSS) to define the look and layout of text and other
material. When you are browsing a website, your browser (Firefox, Chrome, Internet Explorer etc.) reads an HTML
file in the background, understands the code written in the file and accordingly displays the webpage.Just like you
read a page in a book written in English and your brain automatically understands what it means, a browser also
reads a webpage written in HTML and understands what it needs to show to the user.The HTML head element is a
container for global information about the document. It is placed at the top of the document, inside the html element
but before the HTML body element. Some of the tags that can also be added in head tag.
The <title> tag defines the title of the document:

10

<head>
<title>title-head tag </title>
</head>
The <style> tag is used to define style information for an HTML document.
<style>
Body{background-color:black;}
</style>
A simple example to print this is a paragraph :
<html>
<body>
<p.>this is a paragraph</p>
</body>
</html>
The entire webpage content is inserted between the <html> and the </html>tags.The text between the <body> and
</body> describe the visible page content.The text between the <p> and </p> is the main content of the webpage.
This webpage is designed to output the following text "This is a paragraph".

4.3 CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the look and formatting of a document
written in amarkup language. While most often used to change the style of web pages and user interfaces written
in HTML and XHTML, the language can be applied to any kind of XML document, including plain
XML, SVG and XUL. Along with HTML and JavaScript, CSS is a cornerstone technology used by most websites to
create visually engaging webpages, user interfaces for web applications, and user interfaces for many mobile
applications.
CSS is designed primarily to enable the separation of document content from document presentation, including
elements such as the layout, colors, and fonts. This separation can improve content accessibility, provide more
flexibility and control in the specification of presentation characteristics, enable multiple HTML pages to share
formatting by specifying the relevant CSS in a separate .css file, and reduce complexity and repetition in the
structural content, such as semantically insignificant tables that were widely used to format pages before consistent
CSS rendering was available in all major browsers. CSS makes it possible to separate presentation instructions from
the HTML content in a separate file or style section of the HTML file. For each matching HTML element, it
provides a list of formatting instructions. For example, a CSS rule might specify that "all heading 1 elements should
be bold," leaving pure semantic HTML markup that asserts "this text is a level 1 heading" without formatting code
.This separation of formatting and content makes it possible to present the same markup page in different styles for
different rendering methods, such as on-screen, in print, by voice (when read out by a speech-based browser
or screen reader) and on Braille-based, tactile devices. It can also be used to display the web page differently

11

depending on the screen size or device on which it is being viewed. While the author of a web page typically links
toa CSS file within the markup file, readers can specify a different style sheet, such as a CSS file stored on their own
computer, to override the one the author has specified. If the author or the reader did not link the document to a style
sheet, the default style of the browser will be applied.The CSS specification describes a priority scheme to determine
which style rules apply if more than one rule matches against a particular element. In this so-called cascade,
priorities or weights are calculated and assigned to rules, so that the results are predictable.CSS (Cascading Style
Sheets) defines various ways to style HTML elements. We can use CSS with html in 3 ways:
External - using an external CSS file.
Internal or Embedded - using the <style> element in the <head> tag
Inline - using the style attribute in HTML elements

4.4 PHP
PHP, Hyper Text Preprocessor , is a server-side scripting language designed for web development but also used as
a general-purpose programming language[2]. As of January 2013, PHP was installed on more than 240
million websites (39% of those sampled) and 2.1 million web servers.Originally created by Rasmus Lerdorf in
1994, the reference implementation of PHP (powered by the Zend Engine) is now produced by The PHP Group.
PHP code can be simply mixed with HTML code, or it can be used in combination with
various templating engines and web frameworks. PHP code is usually processed by a PHP interpreter, which is
usually implemented as a web server's native module or a Common Gateway Interface (CGI) executable. After the
PHP code is interpreted and executed, the web server sends resulting output to its client, usually in form of a part of
the generated web page for example, PHP code can generate a web page's HTML code, an image, or some other
data. PHP has also evolved to include a command-line interface (CLI) capability and can be used
instandalone graphical applications.The canonical PHP interpreter, powered by the Zend Engine, is free
software released under the PHP License. PHP has been widely ported and can be deployed on most web servers on
almost every operating system and platform, free of charge.Despite its popularity, no written specification or
standard exists for the PHP language; instead, the canonical PHP interpreter serves as a de facto standard. However,
work on creating a formal specification has started in 2014.PHP is an acronym for 'Hypertext Preprocessor', which is
a server side scripting language that can be embedded in html to create dynamic web pages.In simpler terms, HTML
code decides the look of a website, while the PHP code decides its functionality.'<?php' and '?>' are the opening and
closing tags in which the entire PHP code is written. Any file containing PHP code must be saved with a .php
extension so as to direct the browser that the file is a PHP document.
A simple PHP code to print PHP code on the screen:
<html>
<head>
<title>Introduction</title>
</head>
<body>

12

<? php echo PHP code ?>


</body>
</html>
A PHP session variable is used to store information about a new session and change its settings. Session variables
have information about a user which is used across multiple web pages. The session data is stored on the server.
A example to demonstrate the concept of storing a session variable and how to retrieve it:
<html>
<?php
Session_start();
//store session data
$_SESSION[username]=report;
?>
<body>
<?php
//retrieve session data
$username=$_SESSION[username];
Echo $username;
?>
</body>
</html>

4.5 MySql
MySQL is the world's second most widely used open-source relational database management system . It is named
after co-founder Michael Widenius's daughter,. SQL phrase stands for Structured Query Language. The MySQL
development project has made its source code available under the terms of the GNU General Public License, as well
as under a variety of proprietary agreements. MySQL was owned and sponsored by a single for-profit firm,
the Swedishcompany MySQL AB, now owned by Oracle Corporation. MySQL is a popular choice of database for
use in web applications, and is a central component of the widely used LAMP open source web application software
stack (and other 'AMP' stacks). LAMP is an acronym for "Linux, Apache, MySQL,Perl/PHP/Python.

MySQL connection code[4]:


$con=mysqli_connect(localhost,root,);
$query=mysqli_select_db($con,attendance);

13

5. PROJECT DESCRIPTION
5.1 PROBLEM DEFINITION:
This system developed will reduce the manual work and avoid redundant data. By maintaining the attendance
manually, then efficient reports cannot be generated. The system can generate efficient weekly,consolidate report
based on the attendance. As the attendances are maintained in registers it has been a tough task for admin and staff
to maintain for long time. Instead the software can keep long and retrieve the information when needed. This
system will also send a notification to students via mail if student is having short attendance. With the help of this
system teacher can also upload a file, view file and download a file. This also provides the facility of interaction
between students and teachers.

5.2 PROJECT OVERVIEW

Attendance Management System basically has three main modules for proper functioning.

Admin module has rights for creating any new entry of faculty and student details.

Teacher has rights of making daily attendance, upload documents(assignments, syllabus).

Student can see his/her attendance and access uploaded documents after logging into his/her account. He
will be notified whenever any document gets uploaded or if he/she has short attendance.

Interaction(i.e chat) between teachers and students

Report can be generated by teacher which will show status of attendance of lectures, tutorials and net total
for that student and mail will be sent to the student if attendance is short.

5.3 MODULE DESCRIPTION


The system should be designed in such a way that only authorized people should be allowed to access some
particular modules. The records should be modified by only administrators and no one else. The user should
always be in control of the application and not the vice versa.The user interface should be consistent so that the
user can handle the application with ease and speed. The application should be visually, conceptually clear.
5.3.1 ADMINISTRATOR MODULE

Student Details
o

In this module administrator can add student.

Administrator can retrieve information about student such as subjects allotted to student and
other personal detail about the student.

Staff Details

o In this module administrator can add a faculty.


o Administrator can retrieve information about faculty such as subjects allotted to student
and other personal detail about the student.

14

5.3.2 STAFFS MODULE

Attendance detail
It assists the staff to mark attendance to the students for their subject. Staff can view attendance ,add
attendance and can also add medical benefits if any. This will authenticate the staff before making the entry
by asking for email id and password. Email id and password entered by the staff are matched to one stored
in the database corresponding to the requested user and if they matches person is logged in otherwise an
error message will be displayed to the user and will be headed back to the index page.

Report details

o Faculty can generate a report of the subject.


o A notification will be send to the students via mail if they are having short attendance.

Interaction Details
o

Teacher can interact with students answer their queries over the chat.

He can upload documents(assignment, syllabus etc.) for students which they can see and download
by logging in.

He can also see the already uploaded documents.

5.3.3 STUDENT MODULE

Attendance detail
Student can view the attendance of his/her subject by logging in .

Interaction details

o Student can interact with teacher and can get the response to his/her queries.
o Student can also download the uploaded documents.

15

6. FEASIBILITY STUDY
Feasibility analysis begins once the goals are defined. It starts by generating broad possible solutions, which are
possible to give an indication of what the new system should look lime. This is where creativity and imagination are
used. Analysts must think up new ways of doing things- generate new ideas. There is no need to go into the detailed
system operation yet. The solution should provide enough information to make reasonable estimates about project
cost and give users an indication of how the new system will fit into the organization. It is important not to exert
considerable effort at this stage only to find out that the project is not worthwhile or that there is a need significantly
change the original goal.
Feasibility of a new system means ensuring that the new system, which we are going to implement, is efficient
and affordable. There are various types of feasibility to be determined. They are:

6.1 Economically Feasibility:


Development of this application is highly economically feasible. The only thing to be done is making an
environment with an effective supervision.It is cost effective in the sense that has eliminated the paper work
completely. The system is also time effective because the calculations are automated which are made at the end of
the month or as per the user requirement.

6.2 Technical feasibility:


The technical requirement for the system is economic and it does not use any other additional Hardware and
software. Technical evaluation must also assess whether the existing systems can be upgraded to use the new
technology and whether the organization has the expertise to use it.

6.3 Operational feasibility:


The system working is quite easy to use and learn due to its simple but attractive interface. User requires no special
training for operating the system. Technical performance include issues such as determining whether the system can
provide the right information for the Department personnel student details, and whether the system can be organized
so that it always delivers this information at the right place and on time using intranet services. Acceptance revolves
around the current system and its personnel.

16

7. DATA FLOW DIAGRAM

Level 0:-

Figure 1: System DFD

17

Level 1:(a)

Figure 2: DFD Administrator


Figure2:DFDAdministrato

18

(b)

Figure 3: DFD Student

19

(c)

Figure 4: DFD Teacher

20

8. TABLES
Table 1: Student
Fields

Data Type

Constraints

Description key

Roll no

Varchar

Primary key

Used to identify a
student uniquely

Name

Varchar

Not null

Student name

Email

Varchar

Not null

Student email id

Branch

Varchar

Not null

Student branch

Section

Varchar

Not null

Student section

Subject1

Varchar

Not null

Student subject

Subject2

Varchar

Not null

Student subject

Subject3

Varchar

Not null

Student subject

Subject4

Varchar

Student subject

Table 2:Teacher
Fields

Data Type

Constraints

Description key

Id

Integer

Primary key

Used to identify a
teacher uniquely

Name

Varchar

Not null

Teacher name

Email

Varchar

Not null

Teacher email id

Department

Varchar

Not null

Teacher department

Qualification

Varchar

Not null

Teacher qualification

Contact

Varchar

Not null

Teacher contact number

Address

Varchar

Not null

Teacher address

Subject1

Varchar

Not null

Subject allotted to
teacher

Subject2

Varchar

Not null

Subject allotted to
teacher

Subject3

Varchar

Subject allotted to
teacher

Subject4

Varchar

Subject allotted to
teacher

Subject5

Varchar

Subject allotted to
teacher

21

Table 3: Subject
Fields

Data Type

Constraints

Description key

Rollno

Varchar

Primay key

Used to identify a
student uniquely

Name

Varchar

Not null

Student name

Present

Integer

Attendance of student

Percentage

Float

Net percentage of
students attendance

Total

Integer

Total classes taken by


teacher

Table 4: File
Field

Data Type

Constraint

Description key

Id

Integer

Primay key

Used to uniquely
identify a file

Name

Varchar

Not null

File name

Mime

Varchar

Text/plain

Size

Varchar

File size

Data

Varchar

Data in file

Created

Varchar

Date when file is created

Table 5: Administrator
Field

Data Type

Constraint

Description key

Id

Integer

Primay key

Used to uniquely
identify the
administrator

Name

Varchar

Not null

Designation

Varchar

Not null

Department

Varchar

Not null

Administrator Name

Administrator
department

Email id

Varchar

Not null

Administrator email
id

22

Table 6: Password
Field

Data Type

Constraint

Description Key

Email id

Varchar

Primay key

Used to uniquely identify a


member

Name

Varchar

Name of user

Password

Varchar

Password corresponding to user

Type

Varchar

Type of
user(administrator/student/teacher)

Table 7: Chat
Field

Data Type

Constraint

Description key

Email id

Varchar

Primay key

Used to uniquely
identify a teacher

Name

Varchar

Not null

Name of user

File

Varchar

Not null

File name

23

9. E-R DIAGRAM

Figure 5: E-R diagram

24

10. SNAPSHOTS
Step 1:
Fig 6 shows the login page of system via which administrator, teacher and student can log into their account.

Figure 6: Index page

25

Step 2:
Teacher has three options after logging in as shown in fig 7 i.e. he can upload documents,chat and manage attendance.

Figure 7:Teacher main page

26

Step 3(a):
Teacher can upload as well as view uploaded documents as shown in figure below.

Figure 8: View downloads page

27

Step 3(b):
Teacher can chat with students in chat board. Teacher can chat with multiple students at a time

Figure 9: Teacher chat page

28

Step 3(c):
Teacher can manage attendance in four ways i.e he can add or view attendance , generate report and add benefit to
any subject from the list of subjects taught by him

Figure 10: Teacher attendance page

29

11. SECURITY
Data encryption is a process of creating secret message formats for data that is stored on computer files. Within
computer software there are multiple encryption techniques available for data files. These techniques are typically
known as encryption algorithms. Each algorithm has unique benefits and usage patterns based on the type of data
and level of protection desired.Unencrypted data is information that can be easily read by acomputer or person.
When data is created on a computer it isautomatically saved in an unencrypted format. This data issaved on
computers or fileservers and can easily be accessedby would-be hackers on the Internet. Encryption techniques are
special processes designed to convert the readable datainto the equivalent of gibberish.Encryption patterns and
standards are managed by the National Institute of Standards and Technology (NIST).
In this system, security is provided by not storing the passwords as in string format but before storing the passwords
in the database a hashing algorithm is provided to convert the password to some encrypted format and then storing
the password in database.
A cryptographic hash function is ahash function which is consideredpractically
impossible to invert, that is,to recreate the input data from its hashvalue alone. These onewayhashfunctions have
been called "theworkhorses ofmodern cryptography".[1]The input data is often called themessage, and the hash
value is oftencalled the message digest or simply thedigest.
The ideal cryptographic hash functionhas four main properties:

Itis easy to compute the hashvalue for any given message.

It is infeasible to generate a message that has a given hash.

It is infeasible to modify a message without changing the hash.

It is infeasible to find two different messages with the same hash.

Hashing is a type of algorithm which takes any size of data and turns it into a fixedlength
of data[5]. This is often used to ease the retrieval of data as you can shorten large amounts of data to a shorter string
(which is easier tocompare). For instance lets say you have a DNA sample of a person, this would consist of a large
amount of data (about 2.2 3.5 MB), and you would like to find out to who this DNA sample belongs to. You could
take all samples and compare 2.2 MB of data to all DNA samples in the database, but comparing 2.2 MB against 2.2
MB of data cant take quite a while, especially when you need to traverse thousands of samples. This is where
hashing can come in handy, instead of comparing the data, you calculate the hash of this data (in reality, several
hashes will be calculated for the different locations on the chromosomes, but for the sake of the example lets
assume its one hash), which will return a fixed length value of, for instance, 128 bits. It will be easier and faster to
query a database for 128bits than for 2.2 MB of data. The main difference between hashing and encryption is that a
hash is not reversible.

30

Some hashing algorithms you may encounter are:

MD5

SHA1

SHA2

MD5
MD5 is a hashing algorithm which is still widely used but cryptographically flawed as its prone to collisions. MD5
is broken in regard to collisions, but not in regard of preimages or secondpreimages. The first attacks on MD5 were
published in 1996, this was in fact an attack on the compression of MD5 rather than MD5 itself. In 2004 atheoretical
attack was produced which allowed for weakening the preimage resistance property of MD5. Inpractice the attack is
way too slow to be useful.

SHA
SHA or Secure Hashing Algorithm is a family of cryptographic hash functions published by the National Institute of
Standards and Technology (NIST) as a U.S. Federal Information Processing Standard (FIPS).
Currently threealgorithms are defined:

SHA1:
A 160bit hash function which resembles the earlier MD5algorithm. This was designed by the National Security
Agency (NSA) to be part of the Digital Signature Algorithm. Cryptographic weaknesses were discovered in
SHA1,and the standard was no longer approved for most cryptographic uses after 2010.

SHA2:
A family of two similar hash functions, with different block sizes, known as SHA256 and SHA512. They differ in
the word size: SHA256uses 32bitwords where SHA512uses 64bitwords. Thereare also truncated versions of each
standardized, known as SHA224and SHA384.These were alsodesigned by the NSA.

Password hashing requires the following properties:

Have a unique salt per password (salt may only be used once across the database containing allpassword
hashes) to prevent a bruteforce attack of compromising the data in one run.

Fast on software (executing the function once must be relatively fast)

Slow on hardware (executing the function concurrently should be slow, this to prevent brute forcing on
distributed systems).

31

Salt
A salt is a non secret, unique value in the database which is appended (depending on the used algorithm) to the
password before it gets hashed. Note that the only requirement of a salt should be that it is unique in the database,
which means that random generation does not need to be cryptographically random. A salt is used to prevent
Rainbow Table lookups (an attack where you calculate a table of hashes for passwords). It should be noted that you
should never use any user supplied information as salt. This to prevent that two databases (of another application for
example) would return the same hash for a given password+salt. Also when bruteforcing, you cant generate all
possibilities in one run, you will need to run the bruteforce for each password taking the salt into account. This
means that instead of being able to break all passwords in 2 days , you will need to run the bruteforce process for
each password taking into account thespecific salt for that password. So this means it will take 2 days for every hash
(1 day if you take probability into account) rather than 2 days for the complete database. It will also prevent people
from using Rainbow Tables, as the table would need to be generated, per password, based on the salt. This is why
salts are so important and why they should be unique for a database.
A password hashing algorithm should be slowto prevent bruteforce attacks, pereferably it
should have features which actually decrease the feasibility of a distributed brute force attack on the hashes.Thats
why about stated hashing algorithms are not preferred for password hashing. So in this system bcrypt hashing
algorithm is used.

Bcrypt : Bcrypt is currently the defacto secure standard for password hashing. Its derived from the Blowfish
block cipher which, to generate the hash, uses look up tables which are initiated in memory. This means a certain
amount of memory space needs to be used before a hash can be generated. Its been well vetted and tested and hence
considered the standard for password hashing.

32

12. Conclusion
The developed Web-Based Student Attendance System using php ,html and css will significantly improve the
current manual process of student attendance recording and tracking system, especially in a university or school
environment. The system promotes a semi-automated approach in capturing the student attendance, i.e. by marking
attendance manually by teacher on portal. In addition, a number of other advantages are gained by having an online
web-based system, acting as a central repository of student attendance record. Firstly all processes of managing the
student attendance record are performed online, allowing administrators and lecturers to view or modify the users
data through any computer via the web browser, as long as they are connected to the Internet. This way, no specific
software installation is required. The captured student attendance data are also processed and analyze automatically
with less risk of data loss, compared to a manual filing approach. Specific to lecturers or teachers, they can easily
monitor their students attendance online and this could improve the quality of teaching since less time is needed to
manage the student attendance record.
The developed system can be improved and upgraded further, e.g. by extending
the system with new features and modules or by improving the web-interface layout with new display style. Better
yet the system can be enhanced further to offer another significant enhancement where the system can be extended
to monitor staff attendance record. The Attendance Management System fully meets the objectives of the system
which it has been developed. The system has reached a steady state where all bugs have been eliminated. The
system is operated at a high level of efficiency and all the teachers and user associated with the system understands
its advantage. This system solves the problem of not only attendance recording but also other things related to it. It
will automatically sent an email to students whose attendance is going short so they try not to miss classes further. It
will sent mail after submission of attendance to notify students who are about to detain. There is always a problem
of mis-communication between teachers and students, some students didnt get the whole information and irritate
teachers by calling them. An official chat facility for them in students can not only chat but can also see what other
students have said to that teacher. Students can view and download documents uploaded by teachers. It was
intended to solve as requirement specification. The E-Attendance System is planned to overcome the problems
occurred in the current existing system. So this is completely flexible, interactive and informative system which
comes quite handy and also cost effective.

33

13. Future Scope


E-Attendance system is an efficient and easy way to record attendance. It is a very flexible system for handling as
well as improving. It has a wide future scope. This system is database dependent. Attendance System can be
upgraded to become database independent . So it can run on any system whether its oracle, Mysql etc. We can make
it more informative by adding other informations. We can introduce sessional marks, marks of teacher assessment
along with attendance marks , so it will become internal marks Compiler also. So students will be able to see their
internal marks at the end of session . As teachers can upload documents i.e assignments, syllabus , date sheet of final
exams and result can also be shared. Notification will be sent when they are uploaded.
System can be made more student friendly. A separate section for students can
be created in which they can upload documents and share notes. More student details can be added in student
database and can add some features and make a student portal. Attendance system can be made more flexible by
integrating an android based e-attendance app. But this system is manual dependent on marking attendance by
teacher. Instead of marking attendance manually, we use other techniques :-

1) Barcode system
2) Finger-print system
3) Facial recognition system
4) Distance measuring system

Scan barcode of id card of student. Separate database of students will be created for it . In face recognition,
photogragh of student will also be required in database. Distance measuring system measures distance between
teacher and student via tracking their phones location using GPRS. If it less than 50m than that student will be
marked present otherwise will be marked absent.
It will also prevent proxy system , manual error in marking attendance. Above
techniques can be integrated with android application . So e-attendance android app integrated with above
technologies can be created . To keep an extra check on students, we can also add functionality for students to
submit assignments on the portal. A deadline check system would be there which can be programmed to either
reject assignments submitted after last date or deduct marks for assignment according to delay in number of days.

34

References
[1] Hyper Text Markup Language ,webpage development. Available from:

< http://www.w3schools.com/html/html_intro.asp>.
[2] Hyper Text Preprocessor , backend development .Available from:
< http://www.tutorialspoint.com/php/index.htm>.
[3] Wamp server, Runtime Environment Provider. Availabe from: < http://www.wampserver.com>.
[4] Reference for MySql connection code taken from:
< http://stackoverflow.com/questions/1085757/mysql-connection

>.

[5] Hashing, Lucaskuffman:Blog. Avialable from:


< http://security.blogoverflow.com/2013/09/about-secure-password-hashing/>.

35

36

You might also like