JSON titkosítás
2014-01-09T07:02:00+01:00
2014-01-11T21:29:03+01:00
2022-07-19T07:01:17+02:00
IcE TeE
Egy olyan kérdésem lenne, hogy JSON adatokat lehet titkosítani?
Ha igen mi ennek a módja, hogy forrás kódból ne lehessen kiolvasni az értékeket?

Próbáltam .php fájlba JSON formában lekérdezni (MySQL) az adatokat, de lassúnak bizonyult. Több másodperces késleltetéssel töltődött csak be. És utána kinyerhetőek voltak az adatok.

Fájból hamar betöltötte, de az könnyen megnyitható, lementhető stb...
Mutasd a teljes hozzászólást!
key=24 a legdurvább

lehet nagyon titkositani, de hozzáteszem nem érdemes. a módszer a következő: mondjuk egy játékot csinálsz, és a megtalált tárgyért járó 12 pontot akarod hozzáadni a felhasználó pontjaihoz:
első lépésként lejönnek a titkos adatok (de minek): játékosnak van X pontja, és a tárgy Y pontot ér.
második lépésben elvégezed a titkos műveletet: be küldöd ajaxon hogy esemény van - megtalálta a tárgyat, hozzá kell adni X-hez Y-t. természetesen itt x és y is titkosított érték.
harmadik lépésben a szerver elvégzi a titkos műveletet: összeadás.
negyedik lépésként visszaadja a kliensnek az új értéket. vagy titkosítottan (de akkor meg minek) vagy olvasható formában: 124.
ötödik lépésként kiirja a jobb felső részre hogy pontszámod: 124 - feltéve hogy nem titkosan jött a válasz.

de nem értem ezt az egész hercehurcát. a képernyőn megjelennek adatok úgyis. akkor most nem tökmindegy hogy a hálózaton milyen formában utazik át? ha enm mondod el konkrétan hogy mire kell akkor így általánosságban azt kell mondjam hogy felesleges időpazarlás, zárd le a topicot!
Mutasd a teljes hozzászólást!

  • Tudom hogy nem ez kell neked, ezért csak érdekességből egy LINK...
    Mutasd a teljes hozzászólást!
  • Egy olyan kérdésem lenne, hogy JSON adatokat lehet titkosítani?


    Igen, mindent lehet titkosítani :) Miért ne lehetne?

    Ha igen mi ennek a módja, hogy forrás kódból ne lehessen kiolvasni az értékeket?


    Milyen értéket? Ha adatbázisban tárolod a nevet, akkor az ugye nincs benne a forráskódban. Ugyanígy igaz ez bármi másra, amit nem írsz bele, az nincs ott.
    De php esetén van több lehetőséged is, hogy a forráskódot fel tudja használni a megrendelő, de olvasni már ne tudja (zend, obfuscating).

    Több másodperces késleltetéssel töltődött csak be.


    Ott valami nem jó. Nem tart ennyi ideig, ha minden jól van összerakva.

    És utána kinyerhetőek voltak az adatok.


    De ugye nem a forráskódból, max a futó kódból egy print_r() -el...


    Azaz kb azt szeretnéd, hogy a -honnan is jövő? - JSON -t a szerver oldalon már ne lehessen értelmezni, se php-ban, se mysql-ben.

    Ha tényleg ezt akarod, akkor a kliens küldje titkosítva, és meg van oldva. De ekkor semmit, még egy keresést sem tudsz rá programozni. Eléggé nem életszerű esetnek tűnik.
    Mutasd a teljes hozzászólást!
  • A $.getJSON('json.php', function(data) { } paranccsal hívom be a lekérdezést, és elméletileg ki kell írni echo-val, hogy tudja kezelni a javascript. És ennek eredménye, hogy a json.php-t ha megnyitom akkor ugye ki is írja az összes adatot, amit lekértem...

    Ezért gondolkodtam a titkosításán. És ez a baj, hogy mire ki echo-za a teljes adatbázist eltelik pármásodperc, így lassú is a folyamat, és lementhető az adatbázis...

    Létezik valamilyen alternatívája, hogy mysql-ből php-val javascriptbe töltsek adatokat?
    Mutasd a teljes hozzászólást!
  • És mégis hogy gondolod a titkosítást, ha a dekódoló kód ott figyel a felhasználó böngészőjében, Javascriptben? Legfeljebb hátráltatja egy nagyon picit a támadót, hogy ki kell találnia a dekódoló kód működését, vagy be kell húznia egy JS motort a támadó kódjába, és aztán egy az egyben futtatnia a dekódolódat.

    Esetleg arra gondoltál, hogy a kliens oldali JS elküldjön pár adatot, és a PHP csak az ezek alapján leszűrt eredményeket küldje el? Úgy gyorsabb is lenne, meg a támadó is csak azt az adatot tudná lelopni, amit amúgy is joga van látni a felületen...
    Mutasd a teljes hozzászólást!
  • Én nem értem ezt a titkosításos dolgot:

    van egy json.php -d, amit ha meghív a kliens, akkor visszaadja a kért adatokat. Én ezt úgy gondolom - meg hát ilyeneket látok az életben - hogyha ezt nem szabad fűnek/fának látnia, akkor ez a json.php autentikál. És ha nincs jogosultsága a usernek, akkor nem írja ki, ha van meg kiírja.
    Mivel a usernek van, tök mindegy hogy a json.php -t direktben hívja, vagy máshogy, úgyis láthatja. Akinek nincs jogosultsága, az meg direktben hívva sem fogja látni az adatokat.

    Hát ha kiechozod a teljes adatbázist, az tényleg lassú (mondjuk fene tudja, láttam már kis adatbázist is: a méret a lényeg). De ha tényleg van ilyen funkció és kell is, azt a user megvárja, mert tudja hogy sok adatot kért.

    De megint azt kell mondjam, az életben ritkán kell az egészet kidumpolni egy usernek. PhpMyAdmin se rakja ki az összes 10M sort egyszerre, mégis ellátja a funkcióját.
    Ha mégis kell ilyen (phpmyadminban is van), akkor meg mondjuk gzippeli, meg egyben kéri le, meg ilyenek, nem soronként echozza ki.
    Mutasd a teljes hozzászólást!
  • Van a neten copy past PHP Mcrypt code.

    Az adott tartalmat a PHP-vel kell titkosítanod, szükség van ilyenkor egy jelszóra. Utána a titkosított adatokat elmented egy .json fájlba. PHP vel írsz egy fájlt. Microsoft IIS-ben meg meg kell adni az application/json mime type - ot. 

    Utána ha egy másik szerveren pl. az adatokat felakarod tölteni a Mysql-be, akkor a PHP-vel meg kell nyitod a titkosított .json fájlt, de ugye a PHP-nek tudnia kell azt a jelszót amivel titkosítottad.

    Itt igazából a .json fájl írása és megnyitása, feldolgozása a lényeg.
    Próbálj ki a phpmyadmin-ban egy olyat, hogy adatbázis mentése json-be. Láthatod, hogy hogyan keletkezik egy .json fájl. Pl. a .json -el fellehet váltani a .csv-t  is mivel pl. a hosszú Ő betö nem jelenik meg jól a .csv-be szóval egy nagyon jó dolog a .json meg vana jsonp megoldás amivel a kliensőr érhetsz el egy távoli szerveren lévő .json fájl. Na mindegy hát én JSON mániákus vagyok. 
    Mutasd a teljes hozzászólást!
  • key=24 a legdurvább

    lehet nagyon titkositani, de hozzáteszem nem érdemes. a módszer a következő: mondjuk egy játékot csinálsz, és a megtalált tárgyért járó 12 pontot akarod hozzáadni a felhasználó pontjaihoz:
    első lépésként lejönnek a titkos adatok (de minek): játékosnak van X pontja, és a tárgy Y pontot ér.
    második lépésben elvégezed a titkos műveletet: be küldöd ajaxon hogy esemény van - megtalálta a tárgyat, hozzá kell adni X-hez Y-t. természetesen itt x és y is titkosított érték.
    harmadik lépésben a szerver elvégzi a titkos műveletet: összeadás.
    negyedik lépésként visszaadja a kliensnek az új értéket. vagy titkosítottan (de akkor meg minek) vagy olvasható formában: 124.
    ötödik lépésként kiirja a jobb felső részre hogy pontszámod: 124 - feltéve hogy nem titkosan jött a válasz.

    de nem értem ezt az egész hercehurcát. a képernyőn megjelennek adatok úgyis. akkor most nem tökmindegy hogy a hálózaton milyen formában utazik át? ha enm mondod el konkrétan hogy mire kell akkor így általánosságban azt kell mondjam hogy felesleges időpazarlás, zárd le a topicot!
    Mutasd a teljes hozzászólást!
abcd