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

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

Ερώτηση

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

 

έχω μια σελίδα όπου κάνω ένα 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, να παίρνει αυτό, να το αποκωδικοποιεί και να κάνω όλη την δουλειά μου.

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

6 απαντήσεις σε αυτή την ερώτηση

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

  • 0

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

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Αν κατάλαβα καλά, θέλεις να προστατέψεις την ajax.php, και να κρύψεις το πως δέχεται το POST request μέσω ajax;

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

 

 

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

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

 

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

@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

 

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

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

 

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

 

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

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

 

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

 

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

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

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

Χρήσιμες πληροφορίες

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.