Προς το περιεχόμενο

Κρύψιμο δεδομένων σε Ajax requests


Uberalles_gr

Προτεινόμενες αναρτήσεις

Καλησπέρα στην κοινότητα,

 

έχω μια σελίδα όπου κάνω ένα ajax request ως εξής:

$.post("ajax.php",{ current_date:$("#current_date").val(), country:$("#country").val(), id:$("#id").val(), type:"load_data" } ,function(data)
{
  if(data != "PROBLEM")
  {
    $("#show_data").html(data);
  }
});

Θα ήθελα ο χρήστης να μην μπορεί να βλέπει ποια δεδομένα περνώ σαν παραμέτρους.

Κάποιες ιδέες που έχετε;;

 

Ο τρόπος που έχω σκεφτεί είναι ο εξής:

Τις παράμετρους που χρησιμοποιώ, να τις κωδικοποιήσω και το αποτέλεσμα να το βάλω σε ένα hidden πεδίο και έτσι ο κώδικας να γίνει έτσι:

$.post("proxy.php",{ data:$("#data").val() } ,function(data)
{
  if(data != "PROBLEM")
  {
    $("#show_data").html(data);
  }
});
όπου στο hidden πεδίο data, θα έχω κάτι τέτοιο DSF123KLMFDSDFklfdlsdJFPSDKFSDFSDF, ότι τεσπα βγει από τον αλγόριθμοο κωδικοποίησης που θα φτιάξω.

 

Μετά η proxy.php, να παίρνει αυτό, να το αποκωδικοποιεί και να κάνω όλη την δουλειά μου.

Πως σας φαίνεται σαν ιδέα; Είναι αρκετά χρονοβόρο να το κάνω αυτό μιας και μιλάμε ότι θα πρέπει να το κάνω σε πάρα πολλά σημεία..

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τι ακριβώς θέλεις να κρύψεις; Μετά θέλεις με αυτό το κωδικοποιημένο μήνυμα να βρίσκεις το αρχικό που το δημιούργησε ή θέλεις να έχεις μία αντιστοιχία που θα γίνεται εσωτερικά;  

Για το πρώτο κάτι Link.png Site: http://php.net/manual/en/function.mcrypt-encrypt.php">τέτοιο ;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν είναι σωστό αυτό που θέλεις να κάνεις. Ο χρήστης θα πρέπει να ξέρει τι στέλνεις και τι κάνει. Αν θέλεις να βασίσεις το security σου σε αυτό, τότε θα έχεις προβλήματα.

 

 

Ο τρόπος που έχω σκεφτεί είναι ο εξής:

Τις παράμετρους που χρησιμοποιώ, να τις κωδικοποιήσω και το αποτέλεσμα να το βάλω σε ένα hidden πεδίο

 

Δεν θα δουλέψει, γιατί η συνάρτηση κωδικοποίησης θα είναι εμφανή στον χρήστη (μιας και θα γίνεται μέσω javascript), άρα μπορεί να την χρησιμοποιήσει για να αποκωδικοποιήσει τις παραμέτρους σου, να τις τροποποιήσει και να ξανακωδικοποιήσει το αποτέλεσμα και να το βάλει στο hidden πεδίο σου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@lion2486

Ωραίο link, δεν το γνώριζα!

 

@_tasos

Ακριβώς αυτό θέλω να κάνω

 

@kastorass

Την κωδικοποίηση την έχω κάνει με php, επομένως δεν βλέπει τίποτα ο χρήστης.

 

Μπορείς επίσης να γράψεις και το παρακάτω

$.post("proxy.php",{ token:"<?php echo my_encode('a=1&b=2&c=3&d=4'); ?>" } ,function(data)
{
  $("#data").html(data);
});

αλλά όταν ο άλλος θα πάει να δει τον πηγαίο κώδικα αυτό θα φαίνεται ως εξής:

$.post("proxy.php",{ token:"sadfsdfsd3453453rwdfowrfj4f2=3rk23rfkk2f2kf-2ftk43gj" } ,function(data)
{
  $("#data").html(data);
});

Δουλεύει μια χαρά και όλες οι σελίδες μου χτυπάνε την proxy.php

 

Επομένως, ο κακόβουλος χρήστης δεν καταλαβαίνει (πιστεύω) τι παραμέτρους πρέπει να περάσει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ίσως να μην χρειάζεται η proxy.php.

Ας είναι η ajax.php που θα λαμβάνει τα data σε encrypted μορφή, τα κάνει decrypt και μετά process.

 

Επίσης, τα δεδομένα αυτά μπορείς να τα κρατάς σε κάποιο session, ώστε να μην πηγαίνουν καθόλου στο client, ούτε κρυπτογραφημένα.

 

Τέλος, αν δεν θέλεις το session, αλλά κάτι πιο μόνιμο, τότε θα μπορούσες να τα έχεις σε έναν πίνακα στη db σου, και στο client να έχεις το id της εγγραφής που θα περιέχει τα user data.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Την χρειάζομαι την proxy.php γιατί όλες οι σελίδες μου χτυπάνε αυτή και αυτή δρομολογεί τι πρέπει να κάνει.

Στα κρυπτογραφημένα μου data περνάω και ποια σελίδα πρέπει να χτυπήσω.

 

Έχω 3-4 ajax.php και δεν ήθελα σε κάθεσ σελίδα να βάζω αυτό τον κώδικα. Το έχω σε μία μεριά.

 

ΒΑΣΗ δεν θέλω να χρησιμοποιήσω καθόλου γιατί όλη η εφαρμογή είναι όσο το δυνατόν λιγότερο με χρήση sql.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...