Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wysyłanie formularza zawierającego " lub ' generuje error 406
husky83
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 8.12.2005
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Mam olbrzymi problem... Mam pewien formularz, w którym jest kod html - więc również znaki takie jak: " oraz '.
Problem w tym, że mogę wysłać cokolwiek, jednak jeśli wyślę któryś z tych znaków (a może jeszcze jakieś inne, te dwa na pewno), serwer odpowiada błędem 406.
Testowałem formy /" oraz /' - jeśli wyślę w takiej formie, jest ok. Oczywiście można zrobić obejście - skrypt js, który doda slashe przed wysłaniem, ale wolałbym poznać mechanizm błędu i usunąć go bez bawienia sie w js.

Co ciekawe, gdy pojawia się błąd, wykonywany jest plik index.php, zamiast wskazanego w formularzu (aktualnie test.php).

htaccess:
  1. RewriteCond %{REQUEST_FILENAME} !-f
  2. RewriteCond %{REQUEST_FILENAME} !-d
  3. RewriteRule ^(.*).html$ index.php?site=$1 [L]

Więc teoretycznie jeśli mam <form action='test.php'>, to nie ma prawa wysyłać do index.php. I nie robi tego, jeśli nie ma błędu. Jeśli jest błąd, przekierowuje do index.php, a $_GET['site'] zawiera 'error/406'.

Czytałem, że wyjściem może być dodanie to .htacces takiego kodu:
  1. <IfModule mod_security.c>
  2. SecFilterEngine Off
  3. SecFilterScanPOST Off
  4. </IfModule>

jednak niestety bez rezultatu.

Dane wysyłam przez POST.

Problem dotyczy serwera az.pl



EDIT:
jednak nie chodzi tylko o cudzysłów i apostrof. Zakazanymi słowami są także iframe oraz style.
Używam ckeditora, ale to samo się dzieje, jeśli wrzucę tekst do zwykłego textarea

Ten post edytował husky83 2.02.2014, 17:00:22
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 08:29