![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam sobie skrypcik na dodawanie newsów do bazy (tylko dla zalogowanego na admina - sesja PHP). Składa się on z trzech plików:
- admin.php - plik w którym jest formularz na dodawanie newsa i inne bajery - functions.js - funkcje JS, jQuery - sendmessage.php - skrypt PHP na wysyłanie zapyań do bazy odpalany przez AJAXA Czyli no wypełniam sobie formularz, klikam dodaj, odpala sie funkcja JS, mała walidacja i jeśli wszystko ok to ajaxem wysyła zapytania do pliku sendmessage.php Ale jak to zabezpieczyć. Użytkownik może przecież podpatrzeć mój kod JS w podglądzie strony i wywołać ręcznie funkcje tak żeby przeszła pierwsze dwa ify. Kod wygląda tak: Kod function sendNews() { var titleV = document.newspanel.title.value; var contentV = document.newspanel.content.value; if(titleV.length < 3) { $("div#result").css({"color":"#D50000", "font-weight":"bold"}); document.getElementById("result").innerHTML = "Tytuł newsa musi zawierać od 3 do 58 znaków."; } else if(contentV.length < 1) { $("div#result").css({"color":"#D50000", "font-weight":"bold"}); document.getElementById("result").innerHTML = "Próbujesz wysłać pustą wiadomość."; } //..... Może przecież w Google Chrome otworzyć stronę, edytować treść jako HTML, dodać formularz, wpisać odpowiednie dane i wpisać adres Kod java script:sendNews(); // to forum oddziela 'java' od 'script' - w tym wypadku te dwa wyrazy mają być połączone;d No nie? Chyba że się myle i się tak nie da.To jest jedno. Ale jak zabezpieczyć sam plik sendmessage.php? Zawartość pliku to łączenie z bazą, wysłanie zapytania i zamknięcie bazy. Równie dobrze ktoś sobie może zrobić własny skrypt i wysłać postem informacje do mojego skryptu (ofc nie zna nazwy pól, no ale....). No więc jak to skutecznie zabezpieczyć? Ten post edytował Kuba707 4.02.2011, 11:40:26 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście zgadzam się że trzeba zrobić dodatkowo walidację po stronie serwera (IMG:style_emoticons/default/wink.gif)
Ale co do tego sprawdzania czy jest adminem, to jeśli dam w pliku sendmessage.php Kod echo 'Czy jest zalogowany: '.$_SESSION['LOGGED']; to mając w kodzie jQuery na wysyłanie wiadomości takie coś: Kod success: function(result) { $("div#result").css({"color":"#008AF0", "font-weight":"bold"}); document.getElementById("result").innerHTML = "Wysłanie AJAXem powiodło się. "; alert('Rezultat (testowo): ' + result); } to wynik jaki dostaje to: Kod Rezultat (testowo): Czy jest zalogowany: A powinna jeszcze na końcu być jedynka. @Edit po dwóch dniach. Mam pytanie. Da się to jakoś skutecznie zabezpieczyć aby dodawanie newsów na stronę poprzez jQuery AJAX było to bezpieczne? Czy może jednak takie rzeczy lepiej zrobić w samym PHP a AJAXA używać do mniej priorytetowych celów jak odświeżanie elementu strony, itp? (IMG:style_emoticons/default/smile.gif) Ten post edytował Kuba707 6.02.2011, 14:31:09 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 05:13 |