[delphi] zabezpieczenie wysylania danych

0

Witam

Zrobilem program, który za pomocą idhttp.post wysyła dane do formularza www i zapisywane są do pliku lub też do bazy na serwerze. Wszystko działa prawidłowo jednak jest to niebezpieczne ponieważ każdy może podejrzec sobie do jakiej strony wysyłane są dane do jakich zmiennych i może sam napisać programik i samemu wysylac do mojej strony dane.

Chciałbym to jakoś zabezpieczyć aby wyslanie danych było możliwe tylko z mojego programu więc pomyślałem o jakichś tajnych danych aby skrypt rozpoznał, że dane idą z mojego programu. Ale niestety nie mam pojęcia czy takie coś da się zrobić.

Więc proszę o pomoc może ktoś ma jakiś pomysł??

0

przesiądź się na https

0

innego sposobu nie ma ?

hmm a może zrobić coś na zasadzie kodow sms... tzn w programie zapisać ileś tam kombinacji krótkich kodów i te same kody zapisać do bazy czy do pliku na serwerze i przy kliknieciu "wyslij" do formularza najpiers skrypt sprawdzi czy kod wyslany z programu znajduje sie w bazie jesli tak to przesle i zapisze dane z formularza. Będzie trudno odgadnąc te kody bo za kazdym kliknięciem "wyslij" kod taki bylby kasowany z bazy

a kod np "73fd" mozna jeszcze dodaktowo zakodowac w delphi (aby ten co zesnifuje widział zakodowany kod) a skypt sobie odkoduje i porowna

0

ponieważ każdy może podejrzec sobie do jakiej strony wysyłane są dane do jakich zmiennych
a w jaki sposób? Jeśli masz na myśli sniffer to wszystko co wyślesz można podejrzeć, łącznie z "tajnymi danymi". Pewną protezą może być szyfrowanie danych przez Twój program i rozszyfrowanie ich po stronie php jakimś algorytmem niesymetrycznym. Jednak wtedy musisz gdzieś w aplikacji zapisać klucz szyfrujący i jak ktoś jest zdeterminowany to ten klucz znajdzie i nic nie będzie stało na przeszkodzie aby sam szyfrował i wysyłał inne dane.

Ogólnie musisz sobie porównać jak bardzo chcesz to zabezpieczyć, ile masz czasu i pieniędzy z tym jak bardzo takie zabezpieczenie jest Ci potrzebne. Może wystarczy najprostsze szyfrowanie, choćby XORem i tyle.

EDIT: a jak Ci się kody skończą to co? Nowa wersja programu? Poza tym nic nie stoi na przeszkodzie aby przechwycić ten kod zanim "wyjdzie w świat" i wysłać go z własnego programu.

Jak już napisałem jak bardzo zabezpieczenie jest dla Ciebie ważne i przed kim chcesz się zabezpieczyć. Najprościej i chyba najlepiej było by zrezygnować z http na rzecz https

EDIT2

a kod np "73fd" mozna jeszcze dodaktowo zakodowac w delphi (aby ten co zesnifuje widział zakodowany kod) a skypt sobie odkoduje i porowna
ale to nic nie da ponieważ "hakjerowi" nie byłby wtedy potrzebny niezakodowany kod ale właśnie ten, który sobie zesnifuje

0

tak chodzilo mi o sniffera, ktory niestety wszystko pokazuje :P

powyzszy moje rozwiazanie chyba odpada zwazywszy na to ze owszem z bazy mozna usunac te kody ktore zostaly wykorzystane jednak problem w delphi bo trzeba by bylo gdzies w osobnym pliku trzymac te kody aby delphi wiedzial ktore juz byly czyli absolutnie odpada.

Ale moze jednak zastosuje to szyfrowanie ale dam kilka opcji do wyboru w delphi i w skrypcie php odkoduje i zapisze. Dzięki Misiek :)

A potem moze dam zlecenie na napisanie takiego systemu aby wysylac dane do bd na serwerze z programu.... Misiek a tak opropo zajmujesz sie pisaniem programow na zamowienie ?

0
maxi12 napisał(a)

Ale moze jednak zastosuje to szyfrowanie ale dam kilka opcji do wyboru w delphi i w skrypcie php odkoduje i zapisze.
tylko tak jak pisałem wcześniej zastosuj algorytm niesymetryczny - wtedy nawet jak "hakjer" wyciągnie klucz publiczny to zaszyfrowanych danych nim nie odszyfruje

Misiek a tak opropo zajmujesz sie pisaniem programow na zamowienie?
tak, chociaż wszystko zależy od samego programu i ceny :). Jak coś to gg/mail

0

chciałem zrobić, że np a -> 76h, b -> 432h itp Tylko, że jak ktoś sobie wpisze w formularzu i prześle "fsdfds" to wyjda jakies glupoty ale i tak sie zapisza

nie bardzo rozumiem o co chodzi z tym algorytmem niesymetrycznym.

odezwe sie na gg i pogadamy

0
maxi12 napisał(a)

nie bardzo rozumiem o co chodzi z tym algorytmem niesymetrycznym.

najogólniej to taki, gdzie innym kluczem (publicznym) się szyfruje a innym kluczem (prywatnym) deszyfruje. Tak działa np. https.
W takim wypadku nawet jak wyciągniesz klucz z aplikacji to i tak nie jesteś w stanie odszyfrować zaszyfrowanego tym kluczem tekstu

0

oki to poszukam cos na ten temat ... Misiek napisalem do Ciebie na gg

0

nic nie dostałem :/

1 użytkowników online, w tym zalogowanych: 0, gości: 1