My Privacy My Decision: Control of Photo Sharing On Online Social Networks
My Privacy My Decision: Control of Photo Sharing On Online Social Networks
1.1SYNOPSIS
Photo sharing is the publishing or transfer of a user's digital photos
online. Photo-sharing websites offer services such as uploading, hosting,
managing and sharing of photos.This function is provided through both
websites and applications that facilitate the upload and display of images. The
term can also be loosely applied to the use of online photo galleries that are set
up and managed by individual users, including photo blogs. Sharing means that
other users can view but not necessarily download the photos, users being able
to select different copyright options for their photos. Unfortunately, it may leak
users privacy if they are allowed to post, comment, and tag a photo freely. To
address this problem, this project proposes an efficient facial recognition system
that can recognize everyone in the photo.Online photo sharing applications are
increasingly popular, offering users new and innovative ways to share photos
with a variety of people. Many social networking sites are also incorporating
photo sharing features, allowing users to very easily upload and post photos for
their friends and families.This systems are focusing on these privacy concerns
and needs, as well as exploring ideas for privacy protection mechanisms, for
users of social networking sites such as Facebook. In understanding users
current concerns and behaviors, we can design tools they desire, adopt, and
ones they will be motivated to use.
1.2ABOUT THE PROJECT
Social-networking users unknowingly reveal certain kinds of personal information
that malicious attackers could profit from to perpetrate significant privacy
breaches. The first decade of the 21st century saw the popularization of the Internet
and the growth of web services that facilitate participatory information sharing and
collaboration. Specifically, Social Network Sites (SNS), allow users
to interact with others in an unprecedented way. Recently, SNSs, more than just
web applications, have become part of human culture and how society interacts.
News agencies, big and small companies, governments, famous personalities
and the general population all use SNSs to interact with each other.
With over 600 million users and 30 billion pieces of content shared each
month, Facebook has stood out as the most popular SNS in the world 1 and the
website where people spend the most time. Users spend 700 million minutes /
month on Facebook. Sharing news, photos, personal taste and information with
friends and family has never been so easy. This luxury of technology and services
comes along with concern of user privacy. Privacy-related issues with Facebook
have been constantly appearing on international press either because of the
companys privacy policy or because of users unawareness of content sharing
consequences.
Online Social Networks have become integral part of our daily life
with each other, fulfilling our social needs the needs for social interactions,
information sharing, appreciation and respect. It is also this very nature of social
media that makes people put more content, including photos, over OSNs without
too much thought on the content. However, once something, such as a photo, is
posted online, it becomes a permanent record, which may be used for purposes we
never expect. For example, a posted photo in a party may reveal a connection of a
celebrity to a mafia world. Because OSN users may be careless in posting content
while the effect is so far-reaching, privacy protection over OSNs becomes an
important issue.
RAM - 256MB
Internal Memory - 1 GB
OS - Min Android(3.0)
3.2SOFTWARESPECIFICATION
Developed : JAVA.ANDROID
Database : MySQL
Friends login:
Password VARCHAR 30
Compose message:
Physical design relates to the actual input and output processes of the system. It
focuses on how data is entered into a system, verified, processed, and displayed as
output. It produces the working system by defining the design specification that
specifies exactly what the candidate system does. It is concerned with user
interface design, process design, and data design.
Devising a test and implementation plan, and specifying any new hardware
and software. Updating costs, benefits, conversion dates, and system constraints. In
an information system, input is the raw data that is processed to produce output.
During the input design, the developers must consider the input devices such as
PC, MICR, OMR, etc. Therefore, the quality of system input determines the
quality of system output. Well-designed input forms and screens have following
properties:
All these objectives are obtained using the knowledge of basic design
principles regarding:
To design source documents for data capture or devise other data capture
methods
To design input data records, data entry screens, user interface screens, etc.
The design of output is the most important task of any system. During output
design, developers identify the type of outputs needed, and consider the necessary
output controls and prototype report layouts.
To develop the output design that meets the end users requirements.
To form the output in appropriate format and direct it to the right person.
Friend request
Sharing photo
Piggybacking
Data Parsing
Steganography
Authenticating
MODULE DESCRIPTION
Friend request:
A log in/out button could be used for log in/outwith the social website. After
logging in, a greeting message andthe profile picture will be shown.
Friend Request is sending the request for another user who wants add to his
friend.
If the Receiver of the user accepts the friend then he only be added to his friend
list.
The Sender can only choose the user who is only added in the friend list.
Then the users are shared datas to other users with in the Friend lists only
requested
Picking close friends:
All the selected friends are required to install our application to carry out
thecollaborative training.
User can share a photo only to friends on list. According to the proposed
scheme, this friend list should be intersection of owners privacy policy and co-
owners exposure policies.
However, in Facebook API, friend lists are read-only items, they cannot be
created or updated through the current API.
If they all agree to post x, x will be shared on the owners page like a normal
photo.
Image Steganography:
The User owner information I, owner user id is stored behind its image data
After ending these details to the particular user .then it will be monitored by that
particular user. Which user will be predicted as and informations are set as
privacy policy.
The following formula provides a very generic description of the pieces of the
steganography process:
be the same type of file as the cover_medium). The cover_medium (and, thus, the
stego_medium) are typically image or audio files. In this article, I will focus on
image files and will, therefore, refer to the cover_image and stego_image.
Images typically use either 8-bit or 24-bit color. When using 8-bit color, there is a
definition of up to 256 colors forming a palette for this image, each color denoted
by an 8-bit value. A 24-bit color scheme, as the term suggests,
Uses 24 bits per pixel and provides a much better set of colors. In this case, each
pixel is represented by three bytes, each byte representing the intensity of the three
primary colors red, green, and blue (RGB).
Authenticating:
In The Module of Authenticating is used when the data will be shared by one user
than the steganography informations are predicted the user information datas are
get from that particular user and also.
User Acknowledgment will be send to the particular persons if the person has
accept the posting policy then it will be stored on to the consider persons.
The Privacy policy will be decrypted from the image steganography after the
owner informations are get from the particular user.
The Acknowledgement for the privacy policy will be send to the particular image.
After accepting the privacy policy by owner then only the photo is uploaded on the
wall.
IMPLEMENTATION
IMPLEMENTATION:
Unit testing is the testing of each module and the integration of the overall
system is done. Unit testing becomes verification efforts on the smallest unit of
software design in the module. This is also known as module testing. The
modules of the system are tested separately. This testing is carried out during the
programming itself. In this testing step, each model is found to be working
satisfactorily as regard to the expected output from the module. There are some
validation checks for the fields. For example, the validation check is done for
verifying the data given by the user where both format and validity of the data
entered is included. It is very easy to find error and debug the system.
7.2 SYSTEM TESTING
Data can be lost across an interface, one module can have an adverse
effect on the other sub function, when combined, may not produce the desired
major function. Integrated testing is systematic testing that can be done with
sample data. The need for the integrated test is to find the overall system
performance. There are two types of integration testing. They are:
The Help in Enterprise Manager details maintenance tasks more fully. Please take
the time to read the SQL Server Book Online manual.
Remember that this document is a guide only. You will have to make the choices
that best suit your needs.
Full Backup
A full database backup backs up the whole database. These backups create a
complete backup of your database as well as part of the transaction log, so the
database can be recovered. This allows for the simplest form of database
restoration, since all of the contents are contained in one backup.
Recommendation: This is recommended if the Evolution database size is minimal.
Differential Backup
A differential backup is a backup of any extent that has changed since the
last FULL backup was created. A differential backup captures only the data that
has changed since that full backup.
Transactional Backup
A transaction log backup allows you to back-up the active part of the
transactionlog. So after you issue a "Full" or "Differential" backup the transaction
log backup will have any transactions that were created after those other backups
are completed.
In this project, the system has proposed aby combining digital signature
along with the shared image we can provide the data security for the image.The
User can share the image combined with the steganography digital signature. If any
other user who wants to share that particular image the permission request is
automatically redirect to the user if the owner is giving privilege to share the data
then it will be posted.The system presented the detailed description of our system.
Generally speaking, the consensus result could be achieved by iteratively refining
the local training result: Photo sharing is the publishing or transfer of a user's
digital photos online. Photo-sharing websites offer services such as uploading,
hosting, managing and sharing of photos (publicly or privately). This function is
provided through both websites and applications that facilitate the upload and
display of images. The term can also be loosely applied to the use of online photo
galleries that are set up and managed by individual users, including photo blogs.
Sharing means that other users can view but not necessarily download the photos,
users being able to select different copyright options for their photos. Firstly, each
user performs local supervised learning only with its own training set, and then the
local results are exchanged among collaborators to form a global knowledge. Then
the global knowledge is used to regularize the local training until convergence. The
system used a toy system with two users to demonstrate the principle of our design.
Then, the system has proven that how to build a general personal FR with more
than two users. It is very efficient than existing system. The system can curb the
privacy leakage by using this design.The proposed system is featured with low
computation cost and confidentiality of the training set.
REFERENCES
[4] B. Carminati, E. Ferrari, and A. Perego. Rule-based access control for social
networks. In R. Meersman, Z. Tari, and P. Herrero, editors, On the Move to
Meaningful Internet Systems 2006: OTM 2006 Workshops, volume 4278 of
Lecture Notes in Computer Science,pages 17341744. Springer Berlin
Heidelberg, 2006.
[7] K.-B. Duan and S. S. Keerthi. Which is the best multiclass svm method? an
empirical study. In Proceedings of the 6th international conference on Multiple
Classifier Systems, MCS05, pages 278285, Berlin, Heidelberg, 2005.
Springer-Verlag.
[12] N. Mavridis, W. Kazmi, and P. Toulis. Friends with faces: How social
networks can enhance face recognition and vice versa. In Computational Social
Network Analysis, Computer Communicationsand Networks, pages 453482.
Springer London, 2010.
[13] R. J. Michael Hart and A. Stent. More content - less control: Access control
in the web 2.0. In Proceedings of the Workshop on Web 2.0 Security and
Privacy at the IEEE Symposium on Security and Privacy, 2007.
[15] L. Palen. Unpacking privacy for a networked world. pages 129 136.
Press, 2003.
OBJECTIVE
Unfortunately, it may leak users' privacy if they are allowed to post, comment, and
tag a photo freely. In this paper, we attempt to address this issue and study the
scenario when a user shares a photo containing individuals other than him.
For this purpose, we propose a system by combining digital signature along with
the shared image we can provide the data security for the image.
The User can share the image combined with the steganography digital signature.
If any other user who wants to share that particular image the permission request
is automatically redirect to the user if the owner is giving privilege to share the
data then it will be posted.
Manufacturers create and design external outputs for printers. External outputs
enable the system to leave the trigger actions on the part of their recipients or
confirm actions to their recipients.
Some of the external outputs are designed as turnaround outputs, which are
implemented as a form and re-enter the system as an input.
Internal outputs
Internal outputs are present inside the system, and used by end-users and
managers. They support the management in decision making and reporting.
//Register.java
package com.example.myprivacymydecission;
import java.io.ByteArrayOutputStream;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.util.Base64;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
Bitmap bmpImageView;
Dialog dialog;
RadioGroup rgUploadChoice;
ImageView ProfilePic;
String encodedImage ;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
ProfilePic=(ImageView)findViewById(R.id.imageView1);
@Override
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.register, menu);
return true;
username = etusername.getText().toString();
password = etpassword.getText().toString();
//encoded image
//encodedImage=getStringImage(bitmapProfilePic);
//bitmapProfilePic.compress(Bitmap.CompressFormat.JPEG, 100,
bytearrayoutputstream);
//encodedImage = Base64.encodeToString(bytearrayoutputstream
.toByteArray(), Base64.DEFAULT);
encodedImage=encodeTobase64(bitmapProfilePic);
backgroundtask.execute(sMethod,name,username,password,encodedImage);
Bitmap immagex=image;
byte[] b = baos.toByteArray();
return imageEncoded;
dialog.setContentView(R.layout.uploadchoice);
dialog.setTitle("Upload Ur Picture");
dialog.setCancelable(true);
dialog.show();
rbFromCamera = (RadioButton)
dialog.findViewById(R.id.rbFromCamera);
rbFromGallery = (RadioButton)
dialog.findViewById(R.id.rbFromGallery);
rgUploadChoice =(RadioGroup)
dialog.findViewById(R.id.rgUploadChoice);
rgUploadChoice.setOnCheckedChangeListener(new
RadioGroup.OnCheckedChangeListener() {
@Override
switch(selectedID)
case R.id.rbFromCamera:
Intent cameraIntent = new
Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent,cameraData);
break;
case R.id.rbFromGallery:
startActivityForResult(galleryIntent, galleryData);
break;
});
@Override
if (resultCode==RESULT_OK)
switch (requestCode)
case 1:
ProfilePic.setImageBitmap(bmpImageView);
break;
case 2:
ProfilePic.setImageURI(uri);
break;
}
public String getStringImage(Bitmap bmp){
return encodedImage;
}
//ViewAllFriends.java
package com.example.myprivacymydecission;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
String url;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_allfriends);
Uname = bundleGetResult.getString("StringName");
url = "http://10.0.2.2/MyprivacyMydecission/viewfriends.php?
Username="
+ Uname;
accessWebService();
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.view_allfriends, menu);
return true;
@Override
try {
jsonResult = inputStreamToString(
response.getEntity().getContent()).toString();
catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
return null;
try {
answer.append(rLine);
}
catch (IOException e) {
// e.printStackTrace();
Toast.makeText(getApplicationContext(),
"Error..." + e.toString(),
Toast.LENGTH_LONG).show();
return answer;
@Override
ListDrwaer();
Try
JSONArray jsonMainNode =
jsonResponse.optJSONArray("friends");
JSONObject jsonChildNode =
jsonMainNode.getJSONObject(i);
employeeList.add(createEmployee("friends", outPut));
} catch (JSONException e)
Toast.makeText(getApplicationContext(), "Error" +
e.toString(),
Toast.LENGTH_SHORT).show();
android.R.layout.simple_list_item_1,
listView.setAdapter(simpleAdapter);
}
private HashMap<String, String> createEmployee(String name, String
number)
employeeNameNo.put(name, number);
return employeeNameNo;
}
//Compose new message.java:
package com.example.myprivacymydecission;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Base64;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.Toast;
Bitmap bmpImageView;
Dialog dialog;
RadioGroup rgUploadChoice;
ImageView ProfilePic;
String encodedImage;
String url;
Spinner users;
public static String sender, reciever, owner, encimage, imagename, ack;
Uri uri;
String currentuser;
EditText imgname;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_newmeessage);
currentuser = bundleGetResult.getString("StringName");
url = "http://10.0.2.2/MyprivacyMydecission/viewallusers.php";
accessWebService();
@Override
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.newmeessage, menu);
return true;
@Override
jsonResult = inputStreamToString(
response.getEntity().getContent()).toString();
catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
return null;
answer.append(rLine);
catch (IOException e) {
// e.printStackTrace();
Toast.makeText(getApplicationContext(),
"Error..." + e.toString(),
Toast.LENGTH_LONG).show();
return answer;
@Override
ListDrwaer();
}
try {
JSONArray jsonMainNode =
jsonResponse.optJSONArray("friends");
if (currentuser.equals(user)) {
} else {
userslist.add(user);
android.R.layout.simple_spinner_item, userslist);
dataAdapter
.setDropDownViewResource(android.R.layout.sim
ple_spinner_dropdown_item);
// attaching data adapter to spinner
users.setAdapter(dataAdapter);
} catch (JSONException e) {
Toast.makeText(getApplicationContext(), "Error" +
e.toString(),
Toast.LENGTH_SHORT).show();
android.R.layout.simple_list_item_1,
sender = currentuser;
reciever = users.getSelectedItem().toString();
owner = currentuser;
.getBitmap();
// encodedImage=getStringImage(bitmapProfilePic);
// ByteArrayOutputStream();
// bitmapProfilePic.compress(Bitmap.CompressFormat.JPEG, 100,
// bytearrayoutputstream);
// encodedImage = Base64.encodeToString(bytearrayoutputstream
// .toByteArray(), Base64.DEFAULT);
imagename=imgname.getText().toString();
encodedImage = encodeTobase64(bitmapProfilePic);
encimage = encodedImage;
ack = "accepted";
Intent myint = new Intent(Newmeessage.this, Proceedtosend.class);
startActivity(myint);
employeeNameNo.put(name, number);
return employeeNameNo;
dialog.setContentView(R.layout.uploadchoice);
dialog.setTitle("Upload Ur Picture");
dialog.setCancelable(true);
dialog.show();
rbFromCamera = (RadioButton)
dialog.findViewById(R.id.rbFromCamera);
rbFromGallery = (RadioButton)
dialog.findViewById(R.id.rbFromGallery);
rgUploadChoice = (RadioGroup)
dialog.findViewById(R.id.rgUploadChoice);
rgUploadChoice
.setOnCheckedChangeListener(new
RadioGroup.OnCheckedChangeListener() {
@Override
int selectedID) {
switch (selectedID) {
case R.id.rbFromCamera:
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent,
cameraData);
break;
case R.id.rbFromGallery:
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(galleryIntent,
galleryData);
break;
});
@Override
switch (requestCode) {
case 1:
ProfilePic.setImageBitmap(bmpImageView);
break;
case 2:
uri = data.getData();
ProfilePic.setImageURI(uri);
break;
return encodedImage;
byte[] b = baos.toByteArray();
return imageEncoded;