Uberalles_gr Δημοσ. 23 Ιανουαρίου 2013 Δημοσ. 23 Ιανουαρίου 2013 Καλησπέρα στην κοινότητα, έχω μια σελίδα όπου κάνω ένα 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, να παίρνει αυτό, να το αποκωδικοποιεί και να κάνω όλη την δουλειά μου. Πως σας φαίνεται σαν ιδέα; Είναι αρκετά χρονοβόρο να το κάνω αυτό μιας και μιλάμε ότι θα πρέπει να το κάνω σε πάρα πολλά σημεία..
lion2486 Δημοσ. 24 Ιανουαρίου 2013 Δημοσ. 24 Ιανουαρίου 2013 Τι ακριβώς θέλεις να κρύψεις; Μετά θέλεις με αυτό το κωδικοποιημένο μήνυμα να βρίσκεις το αρχικό που το δημιούργησε ή θέλεις να έχεις μία αντιστοιχία που θα γίνεται εσωτερικά; Για το πρώτο κάτι Site: http://php.net/manual/en/function.mcrypt-encrypt.php">τέτοιο ;
_tasos Δημοσ. 24 Ιανουαρίου 2013 Δημοσ. 24 Ιανουαρίου 2013 Αν κατάλαβα καλά, θέλεις να προστατέψεις την ajax.php, και να κρύψεις το πως δέχεται το POST request μέσω ajax;
kastorass Δημοσ. 25 Ιανουαρίου 2013 Δημοσ. 25 Ιανουαρίου 2013 Δεν είναι σωστό αυτό που θέλεις να κάνεις. Ο χρήστης θα πρέπει να ξέρει τι στέλνεις και τι κάνει. Αν θέλεις να βασίσεις το security σου σε αυτό, τότε θα έχεις προβλήματα. Ο τρόπος που έχω σκεφτεί είναι ο εξής:Τις παράμετρους που χρησιμοποιώ, να τις κωδικοποιήσω και το αποτέλεσμα να το βάλω σε ένα hidden πεδίο Δεν θα δουλέψει, γιατί η συνάρτηση κωδικοποίησης θα είναι εμφανή στον χρήστη (μιας και θα γίνεται μέσω javascript), άρα μπορεί να την χρησιμοποιήσει για να αποκωδικοποιήσει τις παραμέτρους σου, να τις τροποποιήσει και να ξανακωδικοποιήσει το αποτέλεσμα και να το βάλει στο hidden πεδίο σου.
Uberalles_gr Δημοσ. 25 Ιανουαρίου 2013 Μέλος Δημοσ. 25 Ιανουαρίου 2013 @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 Επομένως, ο κακόβουλος χρήστης δεν καταλαβαίνει (πιστεύω) τι παραμέτρους πρέπει να περάσει.
_tasos Δημοσ. 25 Ιανουαρίου 2013 Δημοσ. 25 Ιανουαρίου 2013 Ίσως να μην χρειάζεται η proxy.php. Ας είναι η ajax.php που θα λαμβάνει τα data σε encrypted μορφή, τα κάνει decrypt και μετά process. Επίσης, τα δεδομένα αυτά μπορείς να τα κρατάς σε κάποιο session, ώστε να μην πηγαίνουν καθόλου στο client, ούτε κρυπτογραφημένα. Τέλος, αν δεν θέλεις το session, αλλά κάτι πιο μόνιμο, τότε θα μπορούσες να τα έχεις σε έναν πίνακα στη db σου, και στο client να έχεις το id της εγγραφής που θα περιέχει τα user data.
Uberalles_gr Δημοσ. 26 Ιανουαρίου 2013 Μέλος Δημοσ. 26 Ιανουαρίου 2013 Την χρειάζομαι την proxy.php γιατί όλες οι σελίδες μου χτυπάνε αυτή και αυτή δρομολογεί τι πρέπει να κάνει. Στα κρυπτογραφημένα μου data περνάω και ποια σελίδα πρέπει να χτυπήσω. Έχω 3-4 ajax.php και δεν ήθελα σε κάθεσ σελίδα να βάζω αυτό τον κώδικα. Το έχω σε μία μεριά. ΒΑΣΗ δεν θέλω να χρησιμοποιήσω καθόλου γιατί όλη η εφαρμογή είναι όσο το δυνατόν λιγότερο με χρήση sql.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα