Dobra więc słowem wstępu stworzyłem aplikacje w języku JS z domieszka HTML która działa w TamperMonkey. Poszukuje od dawna sposobu na wykonywanie autoryzacji dostępu. Najlepiej gdyby działało to w MySQL w połaczeniu z PHP, dodam kod ktory napisałem, ale niestety nie działa. Drugim wariantem o jakim myślałem to recznie wrzucenie user_id w kod czyli getCookie. Dobra do rzeczy.
Jesli autoryzacja miałby się odbywać w samym JS to chciałbym aby wygladało to następująco.
Pobieranie danych z Cookies (user_id) i sprawdzanie go z tym podanym w pliku.
function check(){
if(getCookie("user_Id" == "55555")){
//wyswietl kod
}else{
alert("brak dostępu)}
chciałbym aby rozniez był stworzony plik np. lic z data wazności
czyli setCookie itd.
niestety, ale gdy implementuje to w strone ni diabla nie dziala natomiast przy sprawadzaniu tego na stronie https://www.w3schools.com/ wszystko smiga.
Druga opcja te chyba trudniejsza, ale bardziej zautomatyzowana to MySQL + PHP
W bazie MySQL znajduje sie tabela w ktorej mam zapisane ID/UserID/Pass/waznosc
i sytuacja bardzo podobna, chciałbym aby autoryzacja odbywala się poprzez cookie.
<?php
session_start();
if (isset($_POST['login'])) {
// include database
include 'db-config.php';
$user_id = mysqli_real_escape_string($conn, $_COOKIE['user_id']);
$pass = mysqli_real_escape_string($conn, $_COOKIE['pass']);
$Expires = mysqli_real_escape_string($conn, $_COOKIE['Expires']);
//if input data empty retun to the login page again
if (empty($user_id) || empty($pass)) {
# data is empty that's why sending to login page again
header("Location: ../index.php?nullinput");
exit();
}else{
$sql = "SELECT * FROM Licencje WHERE user_id='$user_id' and pass='$pass' and Expires='$Expires'";
// get the all users data
$result = mysqli_query($conn, $sql);
//now we fetch the rows
$rowCheck = mysqli_num_rows($result);
// we got the row, now if there is more then 0 rows that's mean it have 1 user otherwise don't have
if ($rowCheck < 1) {
// we don't have any users
header("Location: ../index.php");
exit();
}else{
if ($row = mysqli_fetch_assoc($result)) {
// now we check the password
$checkPwd = password_verify($pass, $row['pass']);
if ($checkPwd == false) {
# password did not mathced
header("Location: ../index.php?passError");
exit();
}elseif ($checkPwd == true) {
# password matched now session start
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['Expires'] = $row['Expires'];
$_SESSION['pass'] = $row['pass'];
//session start succssfully thats mean user logged in
header("Location: ../dashboard.php");
exit();
}
}
}
}
}else{
// not came here by pressed button
header("Location: ../index.php");
exit();
}
?>
Function setCookie(lic, activ, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires="+d.toUTCString();
document.cookie = lic + "=" + activ + ";" + expires + ";path=/";
}
function getCookie(lic) {
var name = lic + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkCookie() {
var user = getCookie("user_id");
if (user == "123") {
//dostęp
} else {
alert("Brak dostępu")
}
}
}