To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Archiwum - Powa?ny b??d we wszystkich wersjach phpBB < 2.0.19

Przemo - 31-12-2005, 13:39
Temat postu: Poważny błąd we wszystkich wersjach phpBB < 2.0.19
Pojawiła się dziura we wszystkich wersjach phpBB mniejszych niż 2.0.19 umożliwiająca odczytanie cookies każdego użytkownika który korzysta z przeglądarki InternetExplorer. Umożliwia to zalogowanie się na jego konto podstawiając ciastka.

Przy wyszukiwaniu ciągu znaków zwróć uwagę na zbędne spacje na końcu linii przy kopiowaniu z opisu

Otwórz plik: /includes/bbcode.php
Jeśli masz wersję niższą od 1.9
Kod:
Znajdź:
$patterns[] = "#\[url\]([\w]+?://[^ \"\n\r\t<]*?)\[/url\]#is";
Zamień na:
$patterns[] = "#\[url\]([\w]+?://([\w\#$%&~/.\-;:=,?@\]+]|\[(?!url=))*?)\[/url\]#is";

Znajdź:
$patterns[] = "#\[url\]((www|ftp)\.[^ \"\n\r\t<]*?)\[/url\]#is";
Zamień na:
$patterns[] = "#\[url\]((www|ftp)\.([\w\#$%&~/.\-;:=,?@\]+]|\[(?!url=))*?)\[/url\]#is";

Jeżeli masz wersję 1.9 lub wyższą
Kod:
Znajdź:
$patterns[] = "#\[url\]([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
Zamień na:
$patterns[] = "#\[url\]([\w]+?://([\w\#$%&~/.\-;:=,?@\]+]|\[(?!url=))*?)\[/url\]#is";

Znajdź:
$patterns[] = "#\[url\]((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
Zamień na:
$patterns[] = "#\[url\]((www|ftp)\.([\w\#$%&~/.\-;:=,?@\]+]|\[(?!url=))*?)\[/url\]#is";


Jeżeli nie możesz odszukać podanego kodu spróbuj kod z drugiej wersji, jeżeli dalej nie możesz znaleźć, skopiuj plik bbcode.php jako bbcode.txt umieść go w dostępnym miejscu, umiesc link w tym temacie i napisz jakiej części nie możesz znaleźć

Poniższe dla każdej wersji

Znajdź:
Kod:
$text = bbencode_first_pass_pda($text, $uid, '/\[quote=(\\\".*?\\\")\]/is', '[/quote]', '', false, '', "[quote:$uid=\\1]");
Zamień na:
Kod:
$text = bbencode_first_pass_pda($text, $uid, '/\[quote=\\\\&quot;(.*?)\\\\&quot;\]/is', '[/quote]', '', false, '', "[quote:$uid=\\\"\\1\\\"]");
$text = bbencode_first_pass_pda($text, $uid, '/\[quote=(\\\".*?\\\")\]/is', '[/quote]', '', false, '', "[quote:$uid=\\1]");

Znajdź:
Kod:
if ( preg_match('#\[quote=\\\"#si', $possible_start, $match) && !preg_match('#\[quote=\\\"(.*?)\\\"\]#si', $possible_start) )
Zamień na:
Kod:
if ( preg_match('#\[quote=\\\&quot;#si', $possible_start, $match) && !preg_match('#\[quote=\\\&quot;(.*?)\\\&quot;\]#si', $possible_start) )

Znajdź:
Kod:
if ($close_pos = strpos($text, '"]', $curr_pos + 9))
Zamień na:
Kod:
if ($close_pos = strpos($text, '&quot;]', $curr_pos + 14))

Znajdź:
Kod:
if (strpos(substr($text, $curr_pos + 9, $close_pos - ($curr_pos + 9)), '[quote') === false)
Zamień na:
Kod:
if (strpos(substr($text, $curr_pos + 14, $close_pos - ($curr_pos + 14)), '[quote') === false)

Znajdź:
Kod:
$possible_start = substr($text, $curr_pos, $close_pos - $curr_pos + 2);
Zamień na:
Kod:
$possible_start = substr($text, $curr_pos, $close_pos - $curr_pos + 7);


Otwórz plik: /includes/functions_post.php
Znajdź: (W wersji 1.9 pojawia się dwa razy, zamień dwa razy)
Kod:
$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#');
$html_entities_replace = array('&amp;', '&lt;', '&gt;');
Zamień na:
Kod:
$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#');
$html_entities_replace = array('&amp;', '&lt;', '&gt;', '&quot;');


Otwórz plik: privmsg.php
Znajdź:
Kod:
$html_entities_match = array('#&#', '#<#', '#>#');
$html_entities_replace = array('&amp;', '&lt;', '&gt;');
Zamień na:
Kod:
$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#');
$html_entities_replace = array('&amp;', '&lt;', '&gt;', '&quot;');


W tej chwili na stronie głównej wersja do ściągnięcia zawiera już w/w poprawki

ORI - 31-12-2005, 14:25

Dzieki :)
Zrobilem tez pliczek do korekty check_files.php jakby ktos potrzebowal ;) Jest on do wersji 1.9.X
Edit: Dla tych ktorzy nie umieja lub nie moga sciagnac zalacznika, zalaczam kod php w tym pliku.
Kod:
<?php
$mod_name[] = 'Poprawki bezpieczeństwa phpBB 2.0.19';
$add_size['includes/bbcode.'.$phpEx] += 65;
$add_size['includes/functions_post.'.$phpEx] += 15;
$add_size['privmsg.'.$phpEx] += 30;
?>

nasedo - 31-12-2005, 14:47

zarowno u mnie na forum jak i na stylach jest powyzej 1.9 ( u mnie 1.9.5 , style 1.9.4) ale w bbcode.php byly tylko te fragmenty dla ponizej 1.9. albo pomylka w instrukcji i powinno byc odwrotnie albo to jest powyzej 1.9.5 a u mnie jakims cudem znalazl sie bbcode z 1.9.4 :P tak czy inaczej u mnie juz bezpiecznie 8
Przemo - 31-12-2005, 15:16

Proszę nie zamieszczać tutaj gotowych plików do ściągnięcia.
DragonHeart - 31-12-2005, 15:53

Przed chwilą zaktualizowaliśmy w taki sposób obydwa nasze fora. Na forum na którym właczony jest ShutBox, wystąpił bład w ShutBoxie. Pojawiło się coś takiego, a zniknęły wszystkie wiadomości jakie tam były
Cytat:
Parse error: parse error, unexpected ',' in /virtual/darmowi/w.szu.pl/h/hublandsnetwork/www/forum/includes/bbcode.php on line 271


ten sam komunikat wystepuje juz na obu forach, jak chce otworzyc jakis post :(

prosze o pomoc

ps.
oba fora są na wersji phpBB_modified_by_Przemo1.9.x

ORI - 31-12-2005, 15:54

Wyedytuj jeszcze raz plik bbcode.php bo cos skopales przy edycji :P Szczegolnie zobacz linie 271 cos w niej jest nie tak...
DragonHeart - 31-12-2005, 16:55

Kod:

Znajdź:
Kod:
$text = bbencode_first_pass_pda($text, $uid, '/\[quote=(\\\".*?\\\")\]/is', '[/quote]', '', false, '', "[quote:$uid=\\1]");
Zamień na:
Kod:
$text = bbencode_first_pass_pda($text, $uid, '/\[quote=\\\\&quot;(.*?)\\\\&quot;\]/is', '[/quote]', '', false, '', "[quote:$uid=\\\"\\1\\\"]");


to jest ta nieszczesna własnie 271 linia, sprawdzałam, kilka razy, jest identycznie zrobione według wzoru na forum Przema, a po zmoderowaniu tej lini moje fora sie "wywalają " :(

[color=olive]Przy wklejaniu kodu na to forum używaj tagu bbcode [*code*] treść odu [*kod*]. Pozdrawiam, Sylwia[/color

wlosio - 31-12-2005, 16:59

A ja mam wersje forum 1.9 jak zainstaluje update do 1.9.4 potem do 1.9.5 to wszystkie posty będą dalej i wszystko będzie działać tak samo nie będzioe ani jednego błędu??
mchtr - 31-12-2005, 17:03

Podmieniłem rano i kiedy chce wyedytować profil użytkownika wyskakuje mi
Cytat:
Parse error: parse error, unexpected '[' in /home1/technik/domains/mechatronika.org/public_html/forum/includes/bbcode.php on line 276

mam wersje 1.9 i kopiowałem i podmieniałem w notatniku żeby się nie pomylić

DragonHeart - 31-12-2005, 17:07

ja na tą chwilę podmieniłam tylko przerobione pliki
functions_post.php
privmsg.php
a plik
bbcode.php
wróciłam orginalny, fora działają

Darus - 31-12-2005, 17:07

Mi wywala blad przy uzywanie BBcode cytowania, nie robi takie ramki itd... cos jest nie tak
ORI - 31-12-2005, 17:08

mchtr, wklej tu 276 linie i dwie w gore i w dol
DragonHeart, zagadaj na gg :) Ale TYLKO Ty!

mchtr - 31-12-2005, 17:21

276 +/- 3
Kod:
    $open_tag = array();
    $open_tag[0] = '[list]';

    $text = bbencode_first_pass_pda($text, $uid, $open_tag, "[/list]", "[/list:u]", false, 'replace_listitems');

    $open_tag[0] = '[list=1]';
    $open_tag[1] = '[list=a]';

taki sam komunikat się pojawia gdy ktoś chce przeczytać posta :(

ORI - 31-12-2005, 17:22

Potwierdzam jest blad. Nie dziala cytowanie wypowiedzi. Wyswietla sie tylko bbcode z tekstem...
nasedo - 31-12-2005, 17:28

dziala cytowanie o ile nie ma nicka osoby cytowanej, u mnie na forum wyswietla prawidlowo nawet z nickiem, na stylach wyswietla prawidlowo tylko bez nicka..


Powered by phpBB modified by Przemo © 2003 phpBB Group