• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pobieranie wartości z Bazy Danych i łączenie jej z JavaScript

VPS Starter Arubacloud
+1 głos
1,083 wizyt
pytanie zadane 16 czerwca 2020 w JavaScript przez Mashtall Nowicjusz (150 p.)
edycja 16 czerwca 2020 przez Mashtall

Tytuł może nie jest zbyt dokładny, ale nie wiedziałem jak to sprecyzować. Wyjaśnię o co mi dokładnie chodzi, w stworzonej bazie danych MySQL znajduje się kolumna "User_ID", niestety nie mam pomysłu jak za pomocą AJAX te dane "wsadzić" w getCookie w kodzie JavaScript. W chwili obecnej mam stworzony plik w którym znajdują się ID te same które mam w Bazie danych, ale nie ukrywam denerwujące jest ciągłe dodawanie, kasowanie jakiejś wartości, tym bardziej, że plik nie jest mały. 

 

Dlatego prosiłbym o podpowiedź jak dane z Bazy wprowadzić w kod JS aby to działało. 

 

var user = getCookie("user_id");
if (user == 123 || user == 321 ){
//kod
} else {
alert("Nie posiadasz dostępu")
}

Ogólnie tak wygląda struktura pliku :) Mam nadzieje, że w miare zrozumiale opisałem o co mi chodzi ^^

 $.ajax({

            type:"GET", 

            url:"pobierz.php", 

            contentType:"application/json; charset=utf-8",

            dataType:'json',
<?php
header('Content-type: application/json');
 
require_once('baza.php');
 
$zapytanie_pobierz = "SELECT id FROM licki";
$wynik_pobierz = mysqli_query($db, $zapytanie_pobierz);
$pobrane_dane = array();
 
while ($wiersz = mysqli_fetch_row($wynik_pobierz)) 
{
  $pobrane_dane[] = $wiersz;
}
echo json_encode($pobrane_dane);
?>

Jak to ogarnąc w jedną spójną całość aby to ze Sobą współpracowało ;/

komentarz 28 lipca 2020 przez VBService Ekspert (251,210 p.)
edycja 28 lipca 2020 przez VBService
komentarz 28 lipca 2020 przez VBService Ekspert (251,210 p.)
edycja 28 lipca 2020 przez VBService

@Mashtall, Moim zdaniem powinieneś zmienić model dostępu do danych, do których ma się dostęp na hasło, specjalny numer id itd. po "stronie" przeglądarki za pomocą ciastek (http cookie) ( var user = getCookie("user_id"); ) :

Istotne przy stosowaniu cookie jest to, że są to dane tymczasowe – wygasają automatycznie po pewnym czasie i w każdej chwili mogą być usunięte lub zablokowane przez użytkownika. Z tego powodu trwałe dane użytkowników muszą być przechowywane po stronie serwera. Także stosowanie ciasteczka jako „zabezpieczenie” sond i liczników należy traktować jako działanie pomocnicze – wynik takiego licznika może łatwo, nawet nieświadomie, zafałszować użytkownik, który ma trwale zablokowane ciasteczka.

Dodatkowym problemem jest to, że tak naprawdę rozpoznawana jest przeglądarka internetowa, a nie konkretny użytkownik. Z tego z kolei wynikają dwa problemy:

  1. Dane zawarte w ciasteczkach nie są przenoszone między urządzeniami użytkownika.
  2. Istnieje ryzyko przejęcia danych na współdzielonym komputerze (np. w wypadku logowania się w kawiarence internetowej).

Pierwszy problem można rozwiązać zapisując kopię preferencji po stronie serwera – po zalogowaniu na innym urządzeniu dane są wysyłane ponownie i ew. łączone (synchronizacja). Drugi problem częściowo rozwiązuje mechanizm wygasania ciasteczek (domyślnie po zamknięciu przeglądarki). Dodatkowo można wprowadzić wygasanie identyfikatora sesji po stronie serwera. Użytkownik może także wyczyścić wszystkie dane w przeglądarce (w paru przeglądarkach skrótem do tej opcji jest CTRL+SHIFT+DELETE).

Innym ważnym problemem związanym z bezpieczeństwem jest to, że ciasteczka nie są domyślnie szyfrowane i są za każdym razem wysyłane do serwera. Z tego powodu ciasteczka nie nadają się do bezpośredniego przesyłania danych poufnych (np. hasła). Nawet w formie zaszyfrowanej jest to ryzykowne ze względu na wielokrotne przesyłanie tej samej informacji. Stąd też typowym rozwiązaniem jest wysyłanie tymczasowego identyfikatora sesji (ważnego tylko przez określony czas). Sesję można dodatkowo zabezpieczyć przypisując identyfikator np. do konkretnego IP, które użytkownik miał w trakcie logowania lub np. grupy IP, które użytkownik określi jako bezpieczne.

To samo javascript:

reasumując, dostęp do takich danych powinien odbywać się po stronie serwera (java, ruby, python, php, asp.net, c#) po "autoryzacji" dostęu (np.: login i hasło) smiley

1 odpowiedź

0 głosów
odpowiedź 16 czerwca 2020 przez Tomek Sochacki Ekspert (227,510 p.)
nie wiem co robi Twoja funkcja getCookie, ale generalnie jak chcesz modyfikować wpisy w bazie danych to po prostu wystaw sobie odpowiednie endpointy na back-endzie do pobrania danych, zapisu, modyfikacji i usunięcia.
komentarz 16 czerwca 2020 przez Mashtall Nowicjusz (150 p.)
getCookie pobiera wartosc "user_id" z przegladarki i jesli pobrane jest zgodne z tymi podanymi wtedy urzytkownik otrzymuje dostep do kodu

Podobne pytania

0 głosów
1 odpowiedź 458 wizyt
pytanie zadane 18 stycznia 2021 w JavaScript przez Xele Początkujący (310 p.)
0 głosów
1 odpowiedź 3,308 wizyt
pytanie zadane 11 grudnia 2015 w JavaScript przez majkkel Użytkownik (530 p.)
0 głosów
2 odpowiedzi 1,660 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...