Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zabezpieczenie skryptu który dodaje wpis do bazy
Kuba707
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
osl
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

Ostrzeżenie: (0%)
-----


zawsze musisz mieć walidacje danych wejściowych po stronie serwera.
w JS możesz zrobić coś co ładnie wygląda, jest funkcjonalne itp, ale nie możesz na tym tylko polegać.
skoro masz admina, to przy dodawaniu newsa po prostu sprawdzaj, czy użytkownik jest zalogowany jako admin. jak nie, podziękuj grzecznie i nie dodawaj nic.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 11:13