Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
e16d636
Account Creation/Login changes
juanmejia10 Feb 13, 2018
7a9d882
Send email with recover username
juanmejia10 Feb 20, 2018
cf477b1
SUCC and FAIL message implement
juanmejia10 Feb 26, 2018
5b5bf74
new sendMessage
juanmejia10 Feb 26, 2018
da63115
derp
juanmejia10 Feb 26, 2018
1bbc6ef
Set and get recovery questions/answers
juanmejia10 Feb 26, 2018
8be0c29
testing issue with CACC
juanmejia10 Feb 26, 2018
a90c591
debug for create account
juanmejia10 Feb 26, 2018
8f6f8c3
escape string hotfix
juanmejia10 Feb 26, 2018
acd831d
include new security q file
juanmejia10 Feb 26, 2018
b87a9a2
sql insert hotfix
juanmejia10 Feb 26, 2018
570184a
duh
juanmejia10 Feb 26, 2018
c3299a6
question query fix
juanmejia10 Feb 26, 2018
6135791
echo debug
juanmejia10 Feb 26, 2018
ea428f0
query hotfix
juanmejia10 Feb 26, 2018
ef64a26
more echo debugs
juanmejia10 Feb 26, 2018
5b226c5
way too sleepy
juanmejia10 Feb 26, 2018
7fef830
debugs galore
juanmejia10 Feb 26, 2018
a262f1a
server username access fix
juanmejia10 Feb 26, 2018
1d6c60f
server file parameters
juanmejia10 Feb 26, 2018
4b3d01d
small changes
juanmejia10 Mar 2, 2018
e687618
testing recovery code
juanmejia10 Mar 4, 2018
47c766d
set sec q/a change
juanmejia10 Mar 5, 2018
52838f0
tons of debugs for setting q
juanmejia10 Mar 6, 2018
3b01c20
sql syntax
juanmejia10 Mar 7, 2018
a0b0fe3
setSecAns fix
juanmejia10 Mar 7, 2018
f3a74ba
Reset Password functions
juanmejia10 Mar 10, 2018
02ea073
small change in communication between client/server
juanmejia10 Mar 10, 2018
ded3f6a
password hash fix
juanmejia10 Mar 10, 2018
9b5bbf0
small changes for new sec quest UI
Apr 9, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 34 additions & 18 deletions Server PHP/accountFunctions.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,18 @@ function createAccount($email, $username, $password, $sock) {
$check_username = "SELECT * FROM UserInfo WHERE Username = '$username'";
$check_email = "SELECT * FROM UserInfo WHERE Email = '$email'";

$passwordHash = password_hash($password, PASSWORD_DEFAULT);

$defaultQ1 = "What_is_your_mother's_maiden_name?";
$defaultQ2 = "What_is_the_name_of_the_street_you_grew_up_on?";
$defaultQ3 = "What_was_the_name_of_your_first_pet?";

$defaultQ1 = mysqli_real_escape_string($connection, $defaultQ1);
$defaultQ2 = mysqli_real_escape_string($connection, $defaultQ2);
$defaultQ3 = mysqli_real_escape_string($connection, $defaultQ3);

//Insert Query
$insert = "INSERT INTO UserInfo (Username, Pass, Email) VALUES ('$username', '$password', '$email')";
$insert = "INSERT INTO UserInfo (Username, Pass, Email, SQ1, SQ2, SQ3) VALUES ('$username', '$passwordHash', '$email', '$defaultQ1', '$defaultQ2', '$defaultQ3')";

if (($username_exists = checkExists($connection, $check_username)) > 0) { //returns failcase of username existing.
$message = "FAILUsername exists, please try again.";
Expand All @@ -35,6 +45,9 @@ function createAccount($email, $username, $password, $sock) {
sendMessage($message, $sock);
sendRegEmail($email);
}
else {
echo("Error description: " . mysqli_error($connection));
}
}
disconnect($connection);
}
Expand All @@ -49,7 +62,7 @@ function loginAccount($username, $password, $sock) {
//Checks if username exists before attempting to login, will return error otherwise.
if (($username_exists = checkExists($connection, $check_username)) > 0) {
$checkPass = getObjString($connection, $check_password)->Pass;
if ($checkPass == $password) {
if (password_verify($password, $checkPass)) {
$resultEmail = getObjString($connection, $check_email)->Email;
$message = "SUCC{$resultEmail}"; //Successful if matches and writes back email belonging to user for UI
sendMessage($message, $sock);
Expand Down Expand Up @@ -86,24 +99,22 @@ function logoutAccount($username, $sock) {
//unfinished code to change a users password, need client input
function changePassword($username, $password, $sock) {
$connection = connectAccount();

// UI should now send a 'they did it' message and a new password
$newPass = nul; //new pass from UI goes here
$change_password = "UPDATE UserInfo SET Pass= 'newPass' WHERE Username = '$username'";
if (mysqli_query($connection, $change_password)) {
fwrite($sock, "SUCC\n");
$passwordHash = password_hash($password, PASSWORD_DEFAULT);
$query = "UPDATE UserInfo SET Pass='$passwordHash' WHERE Username = '$username'";
if (!mysqli_query($connection, $query)) {
$message = "FAILSomething went wrong. Either the username does not exist or there was an issue connecting to the database.\n\n";
sendMessage($message, $sock);
}
else {
fwrite($sock, "FAIL\n");
$message = "SUCCPassword was successfully changed!\n\n";
sendMessage($message, $sock);
}

disconnect($connection);
}

// unfinised account recovery using email method. outdated, unused, unloved
function recoverAccount($email, $password, $sock) {
$connection = connectAccount();

//check if email exists before attempting to send recovery email, will return error otherwise.
$check_email = "SELECT Email FROM UserInfo WHERE Email = '$email'";
$change_password = "UPDATE UserInfo SET Pass= '$newPass' WHERE Email = '$email'";
Expand Down Expand Up @@ -131,17 +142,22 @@ function recoverAccount($email, $password, $sock) {
// takes users email, returns users username.
function rememberUsername ($email, $sock) {
$connection = connectAccount();

$find_user = "SELECT Username FROM UserInfo WHERE Email = '$email'"; //finds a username tied to a email
$resultUser = mysqli_query($connection, $find_user); //runs find_user
$obj = $resultUser->fetch_object();
$returnUser = $obj->Username; // returnUser == return value of find_user
$message = "SUCC{$returnUser}";
sendMessage($message, $socket);

if(checkExists($connection, $find_user) > 0) {
$returnUser = getObjString($connection, $find_user)->Username;
// $message = "SUCC1Email has been sent with your username. Make sure to check your spam folder!\n";
$message = "SUCCEmail has been sent with your username. Make sure to check your spam folder!\n";
sendMessage($message, $sock);
sendVerEmail($email, $returnUser);
}
else {
$message = "FAILNo username found with that email. Try again!\n";
sendMessage($message, $sock);
}
disconnect($connection);
}


// recovery option for remembering a password, sends a recovery email
function rememberPassword ($username, $email, $sock) {
$connection = connectAccount();
Expand Down
71 changes: 37 additions & 34 deletions Server PHP/flashCardFunctions.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
include_once 'utilityFunctions.php';
include_once 'groupFunctions.php';
include_once 'whiteboardFunctions.php';
include_once 'utilityFunctions.php';



Expand All @@ -13,11 +12,11 @@ function updateFlashCards($connection, $ip, $clients, $groupID, $sock) {
//RETURN FRONT SIDE AND BACK SIDE
for($i= 0; $i<2; $i++){
if($i == 0){
$side == 'side1';
$side = 'side1';
$code = 'FCFT';
}
else if($i == 1){
$side == 'side2';
$side = 'side2';
$code = 'FCBK';
}
$return_FlashCards = "SELECT id, $side
Expand All @@ -37,10 +36,9 @@ function updateFlashCards($connection, $ip, $clients, $groupID, $sock) {
} //closes query for loop
} //closes front/back for loop
disconnect($connection);


}//Close function


function addToCard($groupID, $num, $message, $user, $clientList, $sock, $side) {
$side = "side" . "$side";
$connection = connectGroup();
Expand All @@ -53,6 +51,10 @@ function addToCard($groupID, $num, $message, $user, $clientList, $sock, $side) {
$username = mysqli_real_escape_string($connection, $username);
$message = mysqli_real_escape_string($connection, $message);
$groupID = mysqli_real_escape_string($connection, $groupID);

$unescMessage = stripslashes($message);
$unescGroupID = stripslashes($groupID);

$flashGroupID = "$groupID" . "FC";
$return_ipList = "SELECT ipAddress FROM $groupID WHERE ipAddress IS NOT NULL";
$resultIP = mysqli_query($connection, $return_ipList); //Returns list of current IP addresses i.e. current user list connected.
Expand All @@ -61,29 +63,29 @@ function addToCard($groupID, $num, $message, $user, $clientList, $sock, $side) {
// Check to see if the id for this card exists already
$check_card = "SELECT * FROM $flashGroupID WHERE (id='$num')";
if (checkExists($connection, $check_card) > 0){
echo "Card exists already ";
echo "Card exists already \n";
$update = "UPDATE $flashGroupID SET user= '$username', $side='$message' WHERE (id='$num')";
mysqli_query($connection, $update);
$NewID = "SELECT id FROM $flashGroupID WHERE (user='$username' AND $side='$message')";
$returnID = getObjString($connection, $NewID)->id;
$returnID = $returnID -1;
$clientMessage = "SUCC{$returnID}";
/*$clientMessage = "SUCC{$returnID}";
sendMessage($clientMessage, $sock);
echo "$clientMessage \n";
//echo "$clientMessage \n";*/

while($rowIP = mysqli_fetch_array($resultIP)){
$keyIP = $rowIP[0];
$keySock = $clientList[$keyIP]->getSocket();
$FlashCards = "$groupID $returnID $message";

if($side == 'side1'){
$clientMessage = "FCFT$FlashCards";
}
else if($side == 'side2'){
$clientMessage = "FCBK$FlashCards";
}
sendMessage($clientMessage, $keySock);
} //Closes while loop
while($rowIP = mysqli_fetch_array($resultIP)){
$keyIP = $rowIP[0];
$keySock = $clientList[$keyIP]->getSocket();
$FlashCards = "$unescGroupID $returnID $unescMessage";
if($side == 'side1'){
$clientMessage = "FCFT$FlashCards";
}
else if($side == 'side2'){
$clientMessage = "FCBK$FlashCards";
}
sendMessage($clientMessage, $keySock);
} //Closes while loop
}//Closes outer if statement

else{
Expand All @@ -92,24 +94,25 @@ function addToCard($groupID, $num, $message, $user, $clientList, $sock, $side) {
$returnID = getObjString($connection, $NewID)->id;
$returnID = $returnID -1;
//echo "returnID is: $returnID\n\n";
$clientMessage = "SUCC{$returnID}";
/*$clientMessage = "SUCC{$returnID}";
//echo "clientMessage is: $clientMessage\n\n";
sendMessage($clientMessage, $sock);
sendMessage($clientMessage, $sock);*/

while($rowIP = mysqli_fetch_array($resultIP)){
$keyIP = $rowIP[0];
$keySock = $clientList[$keyIP]->getSocket();
$FlashCards = "$groupID $returnID $message";
if($side == 'side1'){
$clientMessage == "FCFT$FlashCards";
}
else if($side == 'side2'){
$clientMessage == "FCBK$FlashCards";
}
sendMessage($clientMessage, $keySock);
}// end while loop
while($rowIP = mysqli_fetch_array($resultIP)){
$keyIP = $rowIP[0];
$keySock = $clientList[$keyIP]->getSocket();
$FlashCards = "$unescGroupID $returnID $unescMessage";
if($side == 'side1'){
$clientMessage = "FCFT$FlashCards";
}
else if($side == 'side2'){
$clientMessage = "FCBK$FlashCards";
}
sendMessage($clientMessage, $keySock);
}// end while loop
} // end else bracket
disconnect($connection);
}//close function


?>
Loading