• 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

+1 głos
371 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 Mędrzec (171,990 p.)
edycja 28 lipca 2020 przez VBService
komentarz 28 lipca 2020 przez VBService Mędrzec (171,990 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 (228,960 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ź 89 wizyt
pytanie zadane 18 stycznia 2021 w JavaScript przez Xele Początkujący (310 p.)
0 głosów
1 odpowiedź 2,914 wizyt
pytanie zadane 11 grudnia 2015 w JavaScript przez majkkel Użytkownik (530 p.)
0 głosów
2 odpowiedzi 960 wizyt

88,332 zapytań

136,927 odpowiedzi

305,599 komentarzy

58,601 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...