hlmod.hu
https://hlmod.hu/

Fő a Biztonság
https://hlmod.hu/viewtopic.php?f=114&t=28636
Oldal: 1 / 1

Szerző:  JohanCorn [ 2018.01.09. 22:38 ]
Hozzászólás témája:  Fő a Biztonság

Üdv!

Nem tudok nyugodt lenni amiatt, hogy az adatokat bárki és bármikor megbuherálhatja. Javarészt php-t használva készítem oldalaimat, de rengeteg olyan posztot olvastam, hogy az adatok áramlását védeni kell. Gondolok itt most a kódolásokra. Anno már Silen-t segített ezzel kapcsolatban, de nem jöttem rá arra, hogy ez miben is segít nekem. Jelenleg a bejelentkezéshez a 1. oldalam input mezőből kiolvasva jquery-n keresztül post metódussal elküldi json kódolásban a felhasználónevet és jelszót a 2. oldalnak, ami aztán egy adatbázis egyeztetés után false, vagy true értéket ad vissza az 1. oldalnak és kiír valamit. True esetén felveszek egy SESSION-t, ami a fiók sorszámát tárolja a későbbi beazonosításhoz.

Kaptam már infót Silent-től a JWT-ről, azonban a használata teljesen értelmetlen volt számomra. Mivel kezdő vagyok, de dökéletesen szeretném csinálni még azt is, amit csinálok így ezt is használnám a biztonság érdekében. Az interneten kutatva találtam egy forráskódot ami elméletielg nagy segítség lenne.

  1. <?php
  2.  
  3. // base64 encodes the header json
  4. $encoded_header = base64_encode('{"alg": "HS256","typ": "JWT"}');
  5.  
  6. // base64 encodes the payload json
  7. $encoded_payload = base64_encode('{"country": "Romania","name": "Octavia Anghel","email": "octaviaanghel@gmail.com"}');
  8.  
  9. // base64 strings are concatenated to one that looks like this
  10. $header_payload = $encoded_header . '.' . $encoded_payload;
  11.  
  12. //Setting the secret key
  13. $secret_key = 'Octaviasecretkey';
  14.  
  15. // Creating the signature, a hash with the s256 algorithm and the secret key. The signature is also base64 encoded.
  16. $signature = base64_encode(hash_hmac('sha256', $header_payload, $secret_key, true));
  17.  
  18. // Creating the JWT token by concatenating the signature with the header and payload, that looks like this:
  19. $jwt_token = $header_payload . '.' . $signature;
  20.  
  21. //listing the resulted  JWT
  22. echo $jwt_token;
  23.  
  24. $recievedJwt = 'eyJhbGciOiAiSFMyNTYiLCJ0eXAiOiAiSldUIn0=.eyJjb3VudHJ5IjogIlJvbWFuaWEiLCJuYW1lIjogIk9jdGF2aWEgQW5naGVsIiwiZW1haWwiOiAib2N0YXZpYWFuZ2hlbEBnbWFpbC5jb20ifQ==.gbB+B063g+kwsoc4L3B1Bu2wM+VEBElwPiLOb0fj2SE=';
  25.  
  26. $secret_key = 'Octaviasecretkey';
  27.  
  28. // Split a string by '.'
  29. $jwt_values = explode('.', $recievedJwt);
  30.  
  31. // extracting the signature from the original JWT
  32. $recieved_signature = $jwt_values[2];
  33.  
  34. // concatenating the first two arguments of the $jwt_values array, representing the header and the payload
  35. $recievedHeaderAndPayload = $jwt_values[0] . '.' . $jwt_values[1];
  36.  
  37. // creating the Base 64 encoded new signature generated by applying the HMAC method to the concatenated header and payload values
  38. $resultedsignature = base64_encode(hash_hmac('sha256', $recievedHeaderAndPayload, $secret_key, true));
  39.  
  40. // checking if the created signature is equal to the received signature
  41. if($resultedsignature == $recieved_signature) {
  42.  
  43.     // If everything worked fine, if the signature is ok and the payload was not modified you should get a success message
  44.     echo "Success";
  45. }
  46. ?>


Biztonságos oldalt szeretnék létrehozni. Nem szeretnék SESSION lopást és hasonló csúnya adathalász dolgokat belekeverni így az a kérdésem, hogy hogyan tehetném oldalam minden tekintetben biztonságossá?

Szerző:  lada xp [ 2018.01.26. 22:02 ]
Hozzászólás témája:  Re: Fő a Biztonság

Régen főként webadminoknál használtunk egy olyat a felhasználók védelmére, hogy a felhasználóknak 8-10 karakteres (számjegyekből, kis illetve nagy betűkből álló) kódot generáltattunk regisztrációnál amit az sqlben eltároltunk a felhasználók oszlopban. Elsődleges feltétellé vált a session stb. ellenőrzések után, hogy a kód megjelenjen az urlben, amit get lekérés után egyeztettünk a tároltal. Ily módon is védheted a felhasználókat egy bizonyos szintig, viszont ez a kód tovább adható, de ép eszű ember nem adja ki a sajátját, illetve sokan nem is tudják mire szolgált.

Szerző:  Anonymous1337 [ 2018.02.19. 21:50 ]
Hozzászólás témája:  Re: Fő a Biztonság

Szia! Vegyük alapul a Steamet. Rengeteg funkció szolgál arra, miként teheted biztonságossá fiókodat.
A felhasználó, természetesen magának választhatja ki, milyen biztonsággal szeretné védeni fiókját, a Felhasználói Vezérlőpultban.

1, Minden egyes bejelentkezéskor, emailt küld a weboldal a regisztrált felhasználónévhez kötött email címre, egy generált kódot.
2, SMS -t küld egy megadott számra, de ez költséges lehet.

Egyenlőre ennyi jutott eszemben, a megvalósításban tudok segíteni, ha elakadnál.

Szép estét!


JohanCorn írta:
Üdv!

Nem tudok nyugodt lenni amiatt, hogy az adatokat bárki és bármikor megbuherálhatja. Javarészt php-t használva készítem oldalaimat, de rengeteg olyan posztot olvastam, hogy az adatok áramlását védeni kell. Gondolok itt most a kódolásokra. Anno már Silen-t segített ezzel kapcsolatban, de nem jöttem rá arra, hogy ez miben is segít nekem. Jelenleg a bejelentkezéshez a 1. oldalam input mezőből kiolvasva jquery-n keresztül post metódussal elküldi json kódolásban a felhasználónevet és jelszót a 2. oldalnak, ami aztán egy adatbázis egyeztetés után false, vagy true értéket ad vissza az 1. oldalnak és kiír valamit. True esetén felveszek egy SESSION-t, ami a fiók sorszámát tárolja a későbbi beazonosításhoz.

Kaptam már infót Silent-től a JWT-ről, azonban a használata teljesen értelmetlen volt számomra. Mivel kezdő vagyok, de dökéletesen szeretném csinálni még azt is, amit csinálok így ezt is használnám a biztonság érdekében. Az interneten kutatva találtam egy forráskódot ami elméletielg nagy segítség lenne.

  1. <?php
  2.  
  3. // base64 encodes the header json
  4. $encoded_header = base64_encode('{"alg": "HS256","typ": "JWT"}');
  5.  
  6. // base64 encodes the payload json
  7. $encoded_payload = base64_encode('{"country": "Romania","name": "Octavia Anghel","email": "octaviaanghel@gmail.com"}');
  8.  
  9. // base64 strings are concatenated to one that looks like this
  10. $header_payload = $encoded_header . '.' . $encoded_payload;
  11.  
  12. //Setting the secret key
  13. $secret_key = 'Octaviasecretkey';
  14.  
  15. // Creating the signature, a hash with the s256 algorithm and the secret key. The signature is also base64 encoded.
  16. $signature = base64_encode(hash_hmac('sha256', $header_payload, $secret_key, true));
  17.  
  18. // Creating the JWT token by concatenating the signature with the header and payload, that looks like this:
  19. $jwt_token = $header_payload . '.' . $signature;
  20.  
  21. //listing the resulted  JWT
  22. echo $jwt_token;
  23.  
  24. $recievedJwt = 'eyJhbGciOiAiSFMyNTYiLCJ0eXAiOiAiSldUIn0=.eyJjb3VudHJ5IjogIlJvbWFuaWEiLCJuYW1lIjogIk9jdGF2aWEgQW5naGVsIiwiZW1haWwiOiAib2N0YXZpYWFuZ2hlbEBnbWFpbC5jb20ifQ==.gbB+B063g+kwsoc4L3B1Bu2wM+VEBElwPiLOb0fj2SE=';
  25.  
  26. $secret_key = 'Octaviasecretkey';
  27.  
  28. // Split a string by '.'
  29. $jwt_values = explode('.', $recievedJwt);
  30.  
  31. // extracting the signature from the original JWT
  32. $recieved_signature = $jwt_values[2];
  33.  
  34. // concatenating the first two arguments of the $jwt_values array, representing the header and the payload
  35. $recievedHeaderAndPayload = $jwt_values[0] . '.' . $jwt_values[1];
  36.  
  37. // creating the Base 64 encoded new signature generated by applying the HMAC method to the concatenated header and payload values
  38. $resultedsignature = base64_encode(hash_hmac('sha256', $recievedHeaderAndPayload, $secret_key, true));
  39.  
  40. // checking if the created signature is equal to the received signature
  41. if($resultedsignature == $recieved_signature) {
  42.  
  43.     // If everything worked fine, if the signature is ok and the payload was not modified you should get a success message
  44.     echo "Success";
  45. }
  46. ?>


Biztonságos oldalt szeretnék létrehozni. Nem szeretnék SESSION lopást és hasonló csúnya adathalász dolgokat belekeverni így az a kérdésem, hogy hogyan tehetném oldalam minden tekintetben biztonságossá?

Szerző:  Silent [ 2018.02.20. 10:41 ]
Hozzászólás témája:  Re: Fő a Biztonság

Nem presentation layer beli biztonságra gondolt az úr, hanem HTTP layer belire.

Szerző:  JohanCorn [ 2018.02.21. 13:32 ]
Hozzászólás témája:  Re: Fő a Biztonság

Pontosan. Én inkább arra lettem volna kíváncsi amit Silent is említett.

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/