Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Kohana]$this->input->post usuwa tagi <title>
Spawnm
post
Post #1





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Witam,
mam dość dziwny problem z odbieraniem danych z formularza,
odbieram je przez $this->input->post('body');
w danych jest kod html oraz jakaś treść.
Niestety $this->input->post wycina mi z całości tagi <title>,
Co zrobić aby tak się nie działo?
Dodam że nie jest to wina serwera gdyż w osobnym pliku sprawdzałem odbieranie danych przez zwykły $_POST
i nic nie było wycinane...
Powód edycji: [Spawnm]:
Go to the top of the page
+Quote Post
k_@_m_i_l
post
Post #2





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


Dość głupie, ale sprawdź w config.php czy masz ustawione :
  1. $config['global_xss_filtering'] = TRUE;

na TRUE, jeśli tak, to spróbuj zmienić na FALSE i zobacz czy to coś da winksmiley.jpg


--------------------
"PHP to człowiek. MySQL to również człowiek."
Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Błagam... tylko nie moderator sad.gif
Cytat
usuwa



--------------------
Go to the top of the page
+Quote Post
k_@_m_i_l
post
Post #4





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


W sumie jak tak teraz myślę, to w configu lepiej tą wartość pozostawić ustawioną na TRUE, a w kodzie gdzie pobierasz tą wartość z POST-a, to daj sobie tak :
  1. $this->input->post('body',null,false);

Gdzie trzeci parametr odpowiada za filtrowanie przed atakami XSS. A ustawienie go na false, powoduje, że pobierana wartość nie jest pod tym kątem sprawdzana.


--------------------
"PHP to człowiek. MySQL to również człowiek."
Go to the top of the page
+Quote Post
Spawnm
post
Post #5





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




No niestety , jak ustawiam w configu na true to 3 parametr jest omijany i zawsze mi filtruje , ale jak dam w configu false to już uwzględnia 3 parametr .



Już widzę czemu tak się dzieje...
Gdy jest odpalany input który pobiera $_POST
najpierw w __construct jest
  1. //czy w configu jest tru
  2. $this->use_xss_clean = (bool) Kohana::config('core.global_xss_filtering');
  3. //jakieś inne działania
  4. //...
  5. if (is_array($_POST))
  6. {
  7. foreach ($_POST as $key => $val)
  8. {
  9. // Sanitize $_POST
  10. $_POST[$this->clean_input_keys($key)] = $this->clean_input_data($val);
  11. }
  12. }

a w clean_input_data() mamy
  1. if ($this->use_xss_clean === TRUE)
  2. {
  3. $str = $this->xss_clean($str);
  4. }

A nasz 3 parametr jest sprawdzany dopiero po przepuszczeniu danych przez clean_input_data ...
czyli jak można zobaczyć w kodzie:
  1. protected function search_array($array, $key, $default = NULL, $xss_clean = FALSE)
  2. {
  3. //jakieś inne działania
  4. //...
  5. if ($this->use_xss_clean === FALSE AND $xss_clean === TRUE)
  6. {
  7. // XSS clean the value
  8. $value = $this->xss_clean($value);
  9. }

jest on uwzględniany tylko gdy mamy config na false smile.gif
Go to the top of the page
+Quote Post
shreeve
post
Post #6





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 24.04.2007
Skąd: Poznań

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


Wiem, że temat trochę już się postarzał, ale czy udało się komuś znaleźć na ten problem jakiegoś prostego fixa czy jednak trzeba będzie zabawić się w przerabianie biblioteki Input?
Go to the top of the page
+Quote Post
Spawnm
post
Post #7





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Ale na jaki problem ?
Przeczytaj posty.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 10:44