Zastanawiam sie nad najlepszym rozwiazaniem bezpiecznego przesylania danych, glownie na mysli mam logowanie, ktore musze zrealizowac w zew. programie na PC. Pisze w VB2008 i nie moge polaczyc sie bezposrednioz z baza rowniez z wzgledow bezpieczenstwa, takie polaczenia z zew. sa zazwyczaj blokowane. Dane jakie musze przeslac to login, haslo , tutaj najbardziej mi zalezy na bezpieczenstwie, a potem kilka innych, ale jednak mniej waznych z wzgledow bezpieczenstwa, wartosci tekstowych. Na stronie loguje sie loginem i haslem, haslo w md5 i porownanie z baza. Wszytskie dane aktualnie wysylane sa za pomoca metody POST, ktora nie jest zla. Narazie skrypt zapewnia mi jedynie komunikacje do testow. Generujac odpowiednie zapytania, otrzymuje odpowiednie wyniki, ktore pobieram i wyswietlam w programie. Zapewne bede chcial dodatkowo generowac jakis klucz potwierdzajacy, albo w programie, albo przypisany do konkretnego usera, w celu 1. statystyki 2. bezpieczenstwa. Niektore zadania, takie jak np. wyslanie zmiennej $greetings mozliwe beda tylko po zalogowaniu, tutaj albo cookie, czy jakas sesja, albo kazdorazowe przesylanie hasla, ktore i tak bedzie trzymane w programie, w jakis sposob zakodowane.
W jaki sposob zrealizowac najbezpieczniej takie zadania, jednoczesnie nie martwiac sie o wstrzykiwanie zapytan SQL, i inne niebezpieczenstwa.
Aktualny kod skryptu
<?php require "connection.php"; //SQL connection file connection(); include("stats.php"); $login = $_POST['login']; //login and password $list = $_POST['list']; // song list $program = $_POST['program']; // program and song status $greetings = $_POST['greetings']; // greetings $schedule = $_POST['schedule']; // schedule //login $username = $_POST['username']; $password = $_POST['password']; //song list $date = $_POST['date']; $presenter = $_POST['presenter']; $song = $_POST['song']; //status // $presenter = $_POST['presenter']; $program = $_POST['program']; // greetings // $username = $_POST['username']; // $id_greetings $id_user = $_POST['id_user']; $time = $_POST['time']; $greetingstext = $_POST['greetingstext']; $status = True; //firefox $firefox = $_GET['firefox']; //schedule /* $firefox = "1"; $username = "user1"; $password = "pass1"; $list = "1"; $date ="2011-03-03"; $schedule = "1"; $program = "1";*/ } } $i += 1; } } // echo "Rekord: ".$peak1."<br />"; } } $query = mysql_query("INSERT INTO greetings SET id_user='$id_user', time='$time', greetings='$greetings', status='$status'") } $i += 1; } } else { } ?>