tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von CPoly
ERLEDIGT
NEIN
ANTWORTEN
14
ZUGRIFFE
548
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Moin Moin,

    ich hab da mal eine Frage bezüglich jQuery und das senden bzw holen von Daten mittels php Dateien.

    Wenn ich mit jQuery arbeite und ich beispielsweise Daten an eine PHP Datei sende dann gebe ich immer die PHP Datei und den dazugehörigen Pfad an.

    Bsp.:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
                                            $.ajax({
                                                    type: "POST",
                                                    url: "php/save.php",
                                                    data: dataStr,
                                                    success: function(del){
                                                            $('#signup').slideUp(500, function() {
                                                              $('#success').slideDown(500);
                                                            });
                                                    }

    Was mich jedoch stört ist das jetzt jeder im Quelltext den Pfad zur PHP Datei einsehen kann.

    Wie kann man es besser umsetzen? Gibt es überhaupt "bessere" Alternativen ? .. oder muss man sich damit abfinden, wenn man mit diesen Frameworks arbeitet.

    Gruß
     

  2. #2
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Was genau stört dich daran? Wo siehst du dort ein Problem?
    Das einzige Problem, dass ich damit habe, sind Bots, die ständig an die im Quelltext gefundenen Pfade irgendwelche Anfragen schicken. Aber damit muss man leben.

    Zitat Zitat von creativeheadz Beitrag anzeigen
    oder muss man sich damit abfinden, wenn man mit diesen Frameworks arbeitet.
    Völlig egal welches Framework oder welche Sprache du verwendest, mit Tools wie HttpFox oder Wireshark findet man immer das Ziel heraus.
     

  3. #3
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Na ja in meinem Buch für OOP Programmierung steht halt, dass man möglichst versuchen sollte, Programmcode und HTML/JavaScript Code möglichst trennen sollte und dabei Pfade zum Programmcode(Klassen, Functionen etc.. ) nicht der Öffentlichkeit mitteilen sollte (mittels mod_rewrite) . Das klappt auch ganz gut nur im jQuery kann ich keine mod_rewrite generierte URl verwenden.
     

  4. #4
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Zitat Zitat von creativeheadz Beitrag anzeigen
    Das klappt auch ganz gut nur im jQuery kann ich keine mod_rewrite generierte URl verwenden.
    Wieso kannst du das nicht?
     

  5. #5
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Weil alle php-Dateien außerhalb meines template-Ordners(bzw.außerhalb des rootverzeichnisses) liegen und mein mod_rewrite sich nur auf den public (unteranderem template-Ordner) Ordner bezieht. Wüsste jetzt nicht wie ich dann die Dateien ausserhalb dieses public Ordners aurfufen könnte ausser den direkten Pfad anzugeben. Kann auch sein das ich aufm Schlauch stehe
     

  6. #6
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Zeig doch mal die Ordnerstruktur und die Beispiele, wozu du mod_rewrite benutzt.
     

  7. #7
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Struktur:

    /htdocs/projekt/
    /application
    /frontend
    /class
    /objects
    /lib
    /public
    /img
    /css
    /js
    /lib
    /src
    /templates
    /private
    /errors
    index.php
    .htaccess

    Inhalt der .htaccess-Datei:

    Code :
    1
    2
    
    RewriteEngine On
    RewriteRule ^([^/]*)\.tpl$ /projekt/index.php?cPath=$1 [L]
     

  8. #8
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Und wo liegt jetzt "php/save.php"? Liegt das JavaScript in "/public/js/src"? Dann wäre save.php in "/public/js/src/php/save.php"?
     

  9. #9
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    ne also im gesamten /public Ordner ist keine PHP Datei zu finden. Alle Dateien ausser der index.php die erst Serverseitig verarbeitet werden, sind in den Unterordnern /applications/ /class , /objects etc. save.php befindet sich im ordner objects.

    php/save.php war ein Beispiel von mir.

    müsste also /application/frontend/objects/save.php lauten..

    Und diesen Pfad soll keiner kennen.
    Geändert von creativeheadz (14.11.11 um 17:32 Uhr)
     

  10. #10
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Angenommen du schreibst /save auf /application/frontend/objects/save.php um, was hindert dich jetzt daran in deinem JavaScript auf "/save" zu verweisen?
     

  11. #11
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Ja dann funktioniert ja meine bisheriger template Controller nicht mehr wenn ich jetzt die htaccess Datei anpasse. Oder kann ich zu meinem bisherigen .htaccess Code eine weitere Anweisung geben? Davon hab ich bis jetzt noch nichts gehört?!
     

  12. #12
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Du kannst so viele RewriteRule haben wie du willst. Falls du das meinst.
    creativeheadz bedankt sich. 

  13. #13
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Probieren geht über stud... man man man! Da hätte ich echt auch allein drauf kommen können. Na ja jetzt hab ichs hinbekommen. Jedenfalls hat sich deine Geduld für mich gelohnt! Danke!
     

  14. #14
    Avatar von creativeheadz
    creativeheadz creativeheadz ist offline Mitglied Gold
    Registriert seit
    May 2005
    Beiträge
    198
    Jetzt muss ich dochnochmal kurz nachhaken :/

    meine .htaccess hab ich nun wie folgt angepasst:

    Code :
    1
    2
    3
    4
    5
    
    RewriteEngine On
    RewriteRule ^([^/]*)\.tpl$ /projekt/index.php?cPath=$1 [L]
     
    RewriteEngine On
    RewriteRule ^([^/]*)\/$ /projekt/jquery/jquery.php?jForm=$1 [L]

    mein JS Code sieht wie folgt aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    
    <script id="validate" type="text/javascript">
    $(document).ready(function() {
        // validate signup form on keyup and submit
        var validator = $("#signupform").validate({
            rules: {
                salutation: "required",
                fname: "required",
                lname: "required",
                street: "required",
                zipcode: {
                    required: true,
                    minlength: 5
                },
                city: "required",
                region: "required",
                email: {
                    required: true,
                    email: true,
                    remote: "/check_email/"
                },
     
                password: {
                    required: true,
                    minlength: 5
                },
                password_confirm: {
                    required: true,
                    minlength: 5,
                    equalTo: "#password"
                }
                
            },
            
            messages: {
                salutation: 'Dies ist ein Pflichtfeld',
                fname: 'Dies ist ein Pflichtfeld',
                lname: 'Dies ist ein Pflichtfeld',
                street: 'Dies ist ein Pflichtfeld',
                zipcode: {
                    required: 'Dies ist ein Pflichtfeld ',
                    rangelength: jQuery.format("Min. {0} Zeichen")
                },
                city: 'Dies ist ein Pflichtfeld ',
                region: 'Dies ist ein Pflichtfeld ',
                
                password: {
                    required: 'Dies ist ein Pflichtfeld ',
                    minlength: jQuery.format("Min. {0} Zeichen")
                },
                password_confirm: {
                    required: 'Dies ist ein Pflichtfeld ',
                    minlength: jQuery.format("Min. {0} Zeichen"),
                    equalTo: "Passwörter nicht identisch."
                },
                email: {
                    required: 'Dies ist ein Pflichtfeld ',
                    minlength: "Falsche E-Mail.",
                    remote: jQuery.format("{0} Wird bereits benutzt.")
                }
            },
            // the errorPlacement has to take the table layout into account
            errorPlacement: function(error, element) {
                if ( element.is(":radio") )
                    error.appendTo( element.parent().next().next() );
                else if ( element.is(":checkbox") )
                    error.appendTo ( element.next() );
                else
                    error.appendTo( element.parent().next() );
            },
            // specifying a submitHandler prevents the default submit, good for the demo
            submitHandler: function() {
            
                                    var dataStr = $("#signupform").serialize();
                                    
                                            $.ajax({
                                                    type: "POST",
                                                    url: "/send/",
                                                    data: dataStr,
                                                    success: function(del){
                                                            $('#signup').slideUp(500, function() {
                                                              $('#success').slideDown(500);
                                                            });
                                                    }
                                    });
                            return false; 
            
            },
            // set this class to error-labels to indicate valid fields
            success: function(label) {
                // set &nbsp; as text for IE
                label.html("&nbsp;").addClass("checked");
            }
        });
        
     
     
    });
    </script>

    funktioniert nun mit dem neuen "Pfad" die ´Validierung nicht und auch das Absenden des Formulars nicht.

    Wo hab ich den Fehler****?
     

  15. #15
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Auf Anhieb sehe ich da keinen Fehler. Guck dir mit Firebug, HttpFox oder ähnlichem mal an, was an den Server gesendet wird und ob da eventuell eine Fehlermeldung kommt.
     

Ähnliche Themen

  1. Methoden-Variablen in ProGuard verschleiern
    Von ciD4r im Forum Java Grundlagen
    Antworten: 15
    Letzter Beitrag: 15.11.11, 09:23
  2. ip adresse verschleiern mit vb
    Von dranonym im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 21.08.08, 00:53
  3. E-mail Adresse verschleiern
    Von Jan-Frederik Stieler im Forum HTML & XHTML
    Antworten: 7
    Letzter Beitrag: 21.02.08, 12:22
  4. Referrer verschleiern!
    Von firstlord18 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 05.11.05, 19:56
  5. IP Adresse verschleiern.
    Von Cheris im Forum Internet, DSL & Flatrate
    Antworten: 3
    Letzter Beitrag: 23.12.04, 19:47