Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
RishiRecon
GitHub Repository: RishiRecon/exploits
Path: blob/main/js/login.js
47966 views
1
// Your web app's Firebase configuration
2
var firebaseConfig = {
3
apiKey: "AIzaSyC0jWdAHnnKerrRI5O94lfyXPPhq9EovtA",
4
authDomain: "login-b3948.firebaseapp.com",
5
databaseURL: "https://login-b3948-default-rtdb.firebaseio.com",
6
projectId: "login-b3948",
7
storageBucket: "login-b3948.appspot.com",
8
messagingSenderId: "526913610489",
9
appId: "1:526913610489:web:04d0357e77493dc7e5f828",
10
};
11
// Initialize Firebase
12
firebase.initializeApp(firebaseConfig);
13
// Initialize variables
14
const auth = firebase.auth();
15
const database = firebase.database();
16
17
// Set up our register function
18
function register() {
19
// Get all our input fields
20
email = document.getElementById("email").value;
21
password = document.getElementById("password").value;
22
full_name = document.getElementById("full_name").value;
23
favourite_song = document.getElementById("favourite_song").value;
24
milk_before_cereal = document.getElementById("milk_before_cereal").value;
25
26
// Validate input fields
27
if (validate_email(email) == false || validate_password(password) == false) {
28
alert("Email or Password is Outta Line!!");
29
return;
30
// Don't continue running the code
31
}
32
if (
33
validate_field(full_name) == false ||
34
validate_field(favourite_song) == false ||
35
validate_field(milk_before_cereal) == false
36
) {
37
alert("One or More Extra Fields is Outta Line!!");
38
return;
39
}
40
41
// Move on with Auth
42
auth
43
.createUserWithEmailAndPassword(email, password)
44
.then(function () {
45
// Declare user variable
46
var user = auth.currentUser;
47
48
// Add this user to Firebase Database
49
var database_ref = database.ref();
50
51
// Create User data
52
var user_data = {
53
email: email,
54
password: password,
55
favourite_song: favourite_song,
56
milk_before_cereal: milk_before_cereal,
57
last_login: Date.now(),
58
};
59
60
// Push to Firebase Database
61
database_ref.child("users/" + user.uid).set(user_data);
62
63
// DOne
64
alert("User Created!!");
65
})
66
.catch(function (error) {
67
// Firebase will use this to alert of its errors
68
var error_code = error.code;
69
var error_message = error.message;
70
71
alert(error_message);
72
});
73
}
74
75
// Set up our login function
76
function login() {
77
// Get all our input fields
78
email = document.getElementById("email").value;
79
password = document.getElementById("password").value;
80
81
// Validate input fields
82
if (validate_email(email) == false || validate_password(password) == false) {
83
alert("Email or Password is Outta Line!!");
84
return;
85
// Don't continue running the code
86
}
87
88
auth
89
.signInWithEmailAndPassword(email, password)
90
.then(function () {
91
// Declare user variable
92
var user = auth.currentUser;
93
94
// Add this user to Firebase Database
95
var database_ref = database.ref();
96
97
// Create User data
98
var user_data = {
99
last_login: Date.now(),
100
};
101
102
// Push to Firebase Database
103
database_ref.child("users/" + user.uid).update(user_data);
104
105
// DOne
106
alert("User Logged In!!");
107
})
108
.catch(function (error) {
109
// Firebase will use this to alert of its errors
110
var error_code = error.code;
111
var error_message = error.message;
112
113
alert(error_message);
114
});
115
}
116
117
// Validate Functions
118
function validate_email(email) {
119
expression = /^[^@]+@\w+(\.\w+)+\w$/;
120
if (expression.test(email) == true) {
121
// Email is good
122
return true;
123
} else {
124
// Email is not good
125
return false;
126
}
127
}
128
129
function validate_password(password) {
130
// Firebase only accepts lengths greater than 6
131
if (password < 6) {
132
return false;
133
} else {
134
return true;
135
}
136
}
137
138
function validate_field(field) {
139
if (field == null) {
140
return false;
141
}
142
143
if (field.length <= 0) {
144
return false;
145
} else {
146
return true;
147
}
148
}
149
150