ASP: wywołanie funkcji javascript i wynik do C#

0

hej
mam taki problem, potrzebuję zrobić dodawanie użytkowników do bazy przez stronę www. i chcę użyć kodowania hasła md5. kodowanie ma się odbyć już po stronie klienta, żeby nie przesyłać jawnie hasła.

mam funkcję w javascripcie która to robi. i mam taki mały formularz który się wypełnia podczas dodawania użytkownika z przyciskiem "Dodaj" - pole z hasłem to TextBox. Pod przycisk dodaj jest podpięta funkcja (pod metodę OnClick) w C# która zapisuje odpowiednie pola do bazy (w tym zawartość Textboxa z hasłem).

Teraz zastanawiam się jak zrobić to by po wciśnięciu "Dodaj" najpierw była wywołana funkcja w js licząca md5 z hasła i żeby to wynik tej metody był wysłany do funkcji w C#.

Ma ktoś jakiś pomysł albo wie jak to się robi??
Wiem że mogę podpiąć pod guzik pod metodę OnClientClick tę funkcję z js, ale co z tego jak dalej nie wiem jak sprawić żeby jej wynik był wysłany na server do funkcji C#.

Wpadłem na trzy takie obejścia, ale mi się one strasznie nie podobają, więc może jest jakiś inny sposób o którym nie wiem.

  1. mogę dorzucić jakiegoś niewidocznego TextBoxa, Labela czy cokolwiek i tam zapisywać wynik funkcji js i z tego pola odczytywać w C#

  2. wynik funkcji mozge zapisać po prostu w TextBoxie z hasłem

  3. mogę zamiast w OnClick to w js wywołać tę funkcję z C# już z wynikiem md5 jako parametr

ale jak już pisałem te rozwiązania wydają mi niezbyt ładne i i pewnie jest jakiś inny sposób na zrobienie tego??

będę wdzięczny za każdą sugestię i z góry dziękuję za odpowiedzi.

0

Generalnie sredni pomysl w ogole z wysylaniem md5, bo co tak naprawde on Ci daje? Jezeli wysylasz md5 i porownujesz gdzies z zapisanym w bazie to co stoi na przeszkodzie, zeby atakujacy przechwycil md5 i wyslal je w formularzu? I tak musisz przeslac cos do metody w C#, a to 'cos' mozna przechwycic. Obliczenie md5 niewiele zmienia (bo sam skrot moze posluzyc do wlamania).

0

to co opisałem jest potrzebne tylko podczas dodawania użytkownika.
założyłem że podczas logowania has.ło będzie sprawdzane na serverze. ale masz tu rację wtedy też hasło będzie leciał czystym tekstem, ale tym to się zajmę później, na razie chciałbym rozwiązać ten pierwszy problem... ;-)

0

nie prościej użyć https?

0

Nie mozesz w takim razie przeslac tego GETem? Wywolac w js: 'location.href = 'costam.aspx?md5=ashgfjdghj'.

//edit
Zgadzam sie ŁF - latwiej uzyc istniejacego rozwiazania niz 'rozwiazywac problem pozniej'. Nie jest wcale taki trywialny.

0

może macie racje, poczytam o tym https, a na razie zrobiłem tym drugim sposobem co mi się nie podoba, i nawet nie jest tak źle;)

dzięki za rady [browar]

0
  • Liczenie md5 z javascriptu w zdarzeniu OnClientClick buttona, zapisanie do hidden i potem postback
    lub tez
  • wywolanie __postback(ctrl, arg) jeszcze podczas tego samego javascriptu (sprawdz skladnie bo niepamietam dobrze, jak sie postback'i z javascriptu wywolywalo).

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