symfony 1.4 deaktivieren der csrf-Schutz für ein Registrierungs-Formular?

Ich bin mit beiden sfDoctrineGuard und sfForkedDoctrineApply. Ich habe ein Modul geschrieben, erlaubt einem angemeldeten Benutzer zum erstellen einer Kind-user, die erbt ein paar von der übergeordneten Profil-Einstellungen. Es funktioniert Super, die Art wie es geschrieben ist, allerdings habe ich ausgeschaltet csrf-Schutz für die gesamte app (in den Einstellungen), um es zu bekommen arbeiten, weil wenn es eingeschaltet ist, ist es (zu Recht, möchte ich hinzufügen), erkennt ein csrf-Angriff. Also, ich brauche eine Möglichkeit, es zu deaktivieren, oder zumindest fangen und entfernen Sie die Validierung.

Habe ich versucht, viele Techniken, von denen keines gearbeitet haben. Inklusive:

      $this->disableLocalCSRFProtection(); 

in der form. Problem ist, es ist ein benutzerdefiniertes Formular und die Eltern-config aufgerufen wird, ist die Injektion der csrf-Schutz.

Ich habe ein paar Lösungen, die ich denke, sind in die richtige Richtung: Symfony 1.4: Benutzerdefinierte Fehlermeldung für CSRF-in-Formulare aber Sie kümmern sich nicht um dieses spezielle problem Auftritt.

Vorschläge und Lösungen sind willkommen. Vielen Dank im Voraus.

  • Wo machst du das $this->disableLocalCSRFProtection(); nennen? In YourForm::configure()?
  • Ja, habe ich, dass der Aufruf in der form config.
  • "es ist ein benutzerdefiniertes Formular und die Eltern-config aufgerufen wird, ist die Injektion der csrf-Schutz" hast du eine Möglichkeit zum deaktivieren der csrf-Schutz in der übergeordneten form mit disableLocalCSRFProtection()?
  • Ich kann, aber dann würde er es abschalten, für alle nachfolgenden Formular Aufrufe (die übergeordneten Formen), in denen es benötigt wird. Zu tun, so würde ich es deaktivieren, in der Basis form-Klasse. Aber das gab mir nur eine Idee. Ich könnte in der Lage sein, um eine variable hinzuzufügen, die auf der Basis der form-Klasse, und übergeben Sie den Befehl deaktivieren im für Umstände, die es brauchen. Ich werde basteln mit, und lassen Sie wissen, ob es funktioniert.
InformationsquelleAutor Patrick | 2012-02-29
Schreibe einen Kommentar