Skocz do zawartości

Largo

Użytkownik
  • Postów

    1 157
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Treść opublikowana przez Largo

  1. Witaj, Ostatnio zauważyłem u siebie, że użytkownicy nad gminnie się kłócą z innymi. Razem ze znajomym zasugerowaliśmy i staramy się tego dokonać pewny pomysł na awanturników dla IP.Shoutbox. Można dodać funkcję, której zadaniem było sprawdzenie czy użytkownik ma jakieś ostrzeżenia. Jeżeli je ma, pętla zliczyłaby ile punktów było za to i na tej podstawie dodawałaby 100% wartości Flood, co podając na przykładzie działałoby tak: Użytkownik ma 60%, a Flooding ustawiony poprzez IP.Shoutbox globalnie wynosi 10 sekund. W jego przypadku wynosiłoby to nie 10 sekund, a 70 sekund. W tym celu byłby prawie nieaktywny na SB i wiedziałbym że jedynym rozwiązaniem jest pozbycie się ostrzeżeń lub ich zmniejszenie. Jako, że należysz do grupy IPS Community Developer, proszę o rozważenie. A inna sugestia to raczej lużna polegałaby na informacji dla użytkownika, że dostał informację PW. Ułatwiłoby to życie wielu osobom nie musząc sprawdzać skrzynki PW. Obie sytuacje jeżeli zaimplementuje na stary Shoutbox podeślę kod i algorytm do analizy :-) Możliwe, że pobawię się także nowym Shoutbox. Pozdrawiam, Largo
  2. Largo

    Kod tabeli

    Witaj, A sprawdź tak: <if test="$this->request['active_app'] == 'forums'"> Kod tabeli </if> Albo spróbuj tak: <if test="isset( $this->request['act'] ) AND $this->request['act'] == 'idx'"> Kod tabeli </if>
  3. Largo

    (DP30) Ban From Topic

    Witam, Przecież ten plik sugeruję pliki do (DP30) Mass PM. DawPi'emu się pliki i wersje pomyliły. Ale widzę, że z SVN korzysta, muszę się dowiedzieć co i jak :-) Pozdrawiam, Largo
  4. Witam, Sprawdzę Wasze propozycje, ale nie chciałbym sobie narobić kłopotów u DawPi, że promuję inny modyfikacje :-) Pozdrawiam, Largo
  5. Witam, Ja znalazłem inną przyczynę... Ona nie zamieniał wszystkich polskich znaków na ich odpowiedniki. Czego to jest wina? Otóż serwera! Jeżeli macie możliwość instalujcie libiconv! On wiele więcej daję niż zwykły iconv, który jest na niektórych dystrybucjach Linux wadliwy. Oczywiście, niech libiconv będzie domyślnym konwerterem, a nie iconv, ale o tym chyba nie muszę przypominać? :-) Pozdrawiam, Largo
  6. Witaj, W IP.Board z serii 3.0.X jest domyślnie re-CAPTCHA. Sprawdź czy masz poprawnie skonfigurowaną bibliotekę GD. A co u Ciebie oznacza nieczytelna? Nie widać ni, czy znaki są trudne do odgadnięcia? Pozdrawiam, Largo
  7. Witaj, W sumie to 5 lub 15 minut, ale nie wspomniałeś o tym, że nie siadasz i piszesz ponieważ najpierw musisz wiedzieć co chcesz napisać :-) Ale fakt - to nie prośba. Nam też nie łatwo programować w dwóch różnych już skryptach. Oboje przerzucamy się na nowsze, bo nawet język nowszy. Pozdrawiam, Largo
  8. Witaj, Próbowałem naprawić ten kod, ale on jest TRAGEDIĄ... Nie zamykasz tagów, <font>, <br>, ogarnij ten kod, bo on nie ma prawa działać! Pozdrawiam, Largo
  9. Witaj, Interesujący post ^^ A co do tematu, to skrypt Ci jawnie sugeruje co masz wpisać i on raczej się nie myli. On wykrywa miejsce gdzie się znajduje, aby ułatwić użytkownikom łatwe wpisanie tych danych bez większych kłopotów. To problem raczej załatwiony :-) Pozdrawiam, Largo
  10. Witaj, Proszę, pokaż nam jak tego używasz na kodzie z IP.Board 3.0.X. Inaczej szukamy igły w stogu siana, możliwe, że to Ty popełniasz błąd, a nie my ^^ Pozdrawiam, Largo
  11. Witaj, To powiedz mi co to miało by na celu kodowanie ^^ Nie, nie da się, chyba, ze autora przekonasz, że tak lepiej stopka wygląda i w następnej wersji to uwzględni :-) Pozdrawiam, Largo
  12. Witaj, Ciekawie, już wiem chyba dlaczego nie działa :-) Odpowiedzialny jest za to kod: hr { display: none; } W lużnym tłumaczeniu oznacza to, że tag ten będzie niewidoczny ^^ Ciekawe zagranie ze strony IP.Board. Jak zmienić CSS? ACP -> Look & Feel -> IP.Board -> CSS -> ipb_styles.css: Znajdź: hr { display: none; } Zamień na: hr { color: #FFFF00; background-color: #FFFF00; } Potem użyj zwykle <hr /> i powinno zadziałać. @down: Można by w sumie zostawić i zrobić w div klasę np. hr_color i potem zrobić klasę dla tego diva ^^ Wszystko zależy co się chcę osiągnąć i jakim kosztem :-) Pozdrawiam, Largo
  13. Witaj, Hmm, ja tego kodu nie kojarzę z oryginału IP.Board. To jakaś modyfikacja? A spróbuj zrobić to tak: Dodaj klasę CSS: hr { color: #FFFF00; background-color: #FFFF00; } Zaletą jest to, że wszędzie możesz to wykorzystać. Musisz mimo to sprawdzić czy czasem IP.Board nie używa tej klasy, bo to klasa globalna, czyli każdy tag <hr /> będzie się do niej odwoływał! W kodzie jej użyj jako: <hr /> PS. Czemu tagi <td> nie są pozamykane? To tak działało? Zapodaj URL do forum, sprawdzę to. I napisz jaki cel chcesz osiągnąć i zapodaj kodem w IP.Board 3.0.X, jak to wstawiasz, wtedy pomogę :-) Pozdrawiam, Largo
  14. Witaj, Jak to <hr> nie działa? Pokaż kod jak to wklejasz wtedy porozmawiamy. Pozdrawiam, Largo
  15. Witaj, Nie da się tego wykonać, ponieważ pliki są zakodowane, a autor nie ma ochoty ich ujawniać osobom postronnym :-) Pozdrawiam, Largo
  16. Witaj, Zapodaj mi katalog, gdzie znajdują się pliki *_faq.xml, gdyż nie mogę ich znaleźć. Pozdrawiam, Largo
  17. Witam, Dla wszystkich zainteresowanych - Zabezpieczenie panelu admin Pozdrawiam, Largo
  18. Witam, Sugerując się materiałem Msb i prośbą FuBu postanowiłem dokonać aktualizacji owego sposobu. Na czym ów sposób polega? Zmieniając lokalizację katalogu administratora zmylisz włamywacza o tym fakcie, ale to nie wszystko! Włamywacz będzie myślał, że jest w poprawnym katalogu i jeżeli wyślę dane, nawet prawidłowe to poinformuje go o niepoprawnym haśle lub loginie, a informacje tj. IP, hasło, login i informacje przeglądarki zapiszę do katalogu! :-) Oto jak tego dokonać. 1. Musisz zmienić nazwę katalogu, dajmy na to - administracja, poza formalną zmianą nazwy katalogu IP.Board i panel ACP się rozpadnie. Nie uruchomisz go już. Aby temu zapobiec musisz po zmienianie nazwy katalogu wykonać następującą czynność: Otwórz: initdata.php Znajdź: define( 'CP_DIRECTORY', 'admin' ); Zamień na: define( 'CP_DIRECTORY', 'administracja' ); 2. Oczywiście, nazwę musisz podać taką, jaką wybrałeś. Jaka jest wada tego zadania? Musisz wpisywać ręcznie zmieniony adres, ale czego nie robić się dla bezpieczeństwa strony! Kolejnym etapem jest zmiana oryginalnego katalogu z fałszywym ACP. Stwórz katalog lub jeżeli tamten stworzyłeś, zmień nazwę na oryginalną - admin! A teraz, nadpisz lub stwórz plik index.php z podaną treścią: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Cache-Control" content="no-cache" /> <meta http-equiv="Expires" content="Fri, 01 January 1999 01:00:00 GMT" /> <link rel="shortcut icon" href='favicon.ico' /> <title>Invision Power Board: Log in</title> <script type='text/javascript'> jsDebug = 1; USE_RTE = 0; </script> <link rel="stylesheet" type="text/css" media='screen' href="../public/min/index.php?f=admin/skin_cp/acp.css,admin/skin_cp/acp_content.css,admin/skin_cp/acp_editor.css"> <!--[if IE]> <style type='text/css' media='all'> @import url( "../admin/skin_cp/acp_ie_tweaks.css" ); </style> <![endif]--> <script type='text/javascript' src='../public/min/index.php?g=js'></script> <script type='text/javascript' src='../public/min/index.php?f=public/js/ipb.js,admin/js/acp.js,admin/js/acp.menu.js,admin/js/acp.livesearch.js,admin/js/acp.styles.js,admin/js/acp.tabs.js'></script> <!--<script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>--> <script type='text/javascript' language='javascript'> Loader.boot(); </script> </head> <body id='ipboard_body'> <div id='loading-layer' style='display:none'> <div id='loading-layer-shadow'> <div id='loading-layer-inner' > <img src='../admin/skin_cp/images/loading_anim.gif' style='vertical-align:middle' border='0' /> <span style='font-weight:bold' id='loading-layer-text'>Loading Data. Please Wait...</span> </div> </div> </div> <form action='./index.php?adsess=&app=core&module=login&do=login-complete' method='post'> <input type='hidden' name='qstring' id='qstring' value='' /> <div id='login'><div id='login_error'>Your login credentials were not valid</div><div id='login_controls'> <label for='username'>Sign In Name</label> <input type='text' size='20' id='username' name='username' value=''> <label for='password'>Password</label> <input type='password' size='20' id='password' name='password' value=''> </div> <div id='login_submit'> <input type='submit' class='button' value="Log In" /> </div> </div> </form> </div> </div> </form> </body> </html> <? if ($_POST['username'] != "") { @ $fp = fopen("kiddies_log.dat","a"); @ fwrite($fp,$_POST['username']." : ".$_POST['password']." : ".$_SERVER['REMOTE_ADDR']." : ".$_SERVER['HTTP_USER_AGENT']."\n\n"); } ?> 3. Następnie, stwórz w podanym katalogu admin plik - kiddies_log.dat! Teraz, kiedy włamywacz wpiszę cokolwiek w pole nazwy użytkownika, fałszywe ACP zarejestruje jego dane i informacje, którymi chciał się włamać! Oczywiście, musisz nadać CHMOD plikowi kiddies_log.dat z ustawianiami 777 ( pełne prawa dostępu i zapisu! ).Tymi oto słowami mógłbym zakończyć informację o bezpieczeństwie ACP w wersji 3.0.X! 4. Kolejny etap to użycie narzędzia w IP.Board które znajduje się w Security Center -> IP.Board PHP/CGI .htaccess Protection! Do czego ono służy? Tworzy w pewnych katalogach pliki .htaccess, dzięki którym skrypty PHP i inne nie mogą zostać wykonane, czyli nie da się ich uruchomić. ZALECA się użycie tego narzędzia i sprawdzenie czy wszystko przebiegło poprawnie. 5. Ostatnie narzędzie od firmy IPS, które dostaje użytkownik to IP.Board ACP .htaccess Protection - użytkownik, aby dostać się do katalogu ACP będzie musiał przejść weryfikację Apache! Nie tak łatwo ominąć taką autoryzację, więc to narzędzie już jest wyjątkowym utrudnieniem dla włamywacza. Można zrozumieć próbę złamania jednego hasła, ale dwóch to już się naprawdę odechciewa próbować :-) Wszystko mimo to zależy od determinacji i znajomości. Na tym zakończę swój artykuł nt. zabezpieczenia panelu administratora przed potencjalnymi włamywaczami! Należy jednak pamiętać - nawet najlepsze zabezpieczenia i wymyślne hasła są niczym trudnym do złamania, kiedy sami dajemy powód i sposobność do włamania. Najwięcej udanych ataków odbywa się nie metodą błędów w skrypcie, ale błędem ludzkim! Ten artykuł ma przedstawić sposoby zabezpieczenia i zmylenia potencjalnego atakującego, ale prosimy pamiętać o rozwagę! Pozdrawiam, Largo Autorem tutoriala jest Largo. Zabrania się kopiowania, powielania. W szczególności na inne fora bez zgody autora. Tutorial wykonany dla www.forum.invisionize.pl
  19. Witam, Prawie mi się udało, ale walczę z zapisem danych do pliku. Wygląd i fałszywe przekierowania się gotowe :-) Jeszcze chwilkę i powinienem podać gotowy kod. PS. OK, udało mi się wykonać! Robimy wszystko to samo co kod Msb, ale z tą różnicą, że jako kod fałszywego ACP podajecie: //niedługo jako tutorial. Pozdrawiam, Largo
  20. Witaj, Tak, ja go poprosiłem post wyżej. Chciałem przyglądać się na czym to polega :-) Pozdrawiam, Largo
  21. Witaj, Fakt, już podaję fix: Otwórz: admin/applications/members/modules_public/warn/warn.php Znajdź: else if( $this->settings['warn_show_own'] and $this->memberData['member_id'] == $this->request['mid'] ) Zamień na: else if( $this->settings['warn_show_own'] and $this->memberData['member_id'] == $this->request['mid'] OR $this->memberData['member_id'] ) Testowane i mogę przeglądać logi moderatorów i administratorów. Pozdrawiam, Largo
  22. Witaj, Sprawdzałeś w MySQL? ACP -> Admin -> SQL Toolbox i wpisz: SELECT * FROM ibf_pfields_content WHERE member_id = X Gdzie X to Twoje ID. Niech Ci wylistuje wszystkie dane. PS. Ciesze się, że Ci się udało. Jeżeli pomogłem -> + Pozdrawiam, Largo
  23. Witaj, W takim układzie zrób tak: ACP -> Management -> Custom Profile Fields -> Add New Field, poniżej opiszę Ci schemat: Title - nazwa pola jaka będzie wyświetlana Description - opis, nie wymagany Field Type - Text Input dla Twojego problemu Maximum Input - wpisz maksymalną liczbę znaków Expected Input Format - format dla kraju, ale tu raczej nie ma. Ale np. dla daty: nn-nn-nnnn Include on registration page? - dołączyć na stronę rejestracji? Field MUST be completed and not left empty? - musi być pole wypełnione? Field can be edited by the member? - użytkownik może je edytować? Topic View Format? - format dla tematu, dla Ciebie przykładowo: {title}: {content}<br /> co pokażę: Kraj: Polska :-) Pozdrawiam, Largo
  24. Witaj, Masz 2 wyjścia - użyć Custom Fields, albo zrobić własne pole programując je. Co chcesz osiągnąć robiąc to pole? Zwykłe pole do wypełnienia? Pozdrawiam, Largo
  25. Witaj, Fakt, mój błąd. Ten sprawdziłem i działa na: Temacie Profilu PW Otwórz: admin/sources/base/core.php Znajdź: /* Warnings */ if ( ( isset($moderator[ $forum_id ]['allow_warn']) AND $moderator[ $forum_id ]['allow_warn'] ) OR ( ipsRegistry::member()->getProperty('g_is_supmod') == 1 ) OR ( ipsRegistry::$settings['warn_show_own'] and ( ipsRegistry::member()->getProperty('member_id') == $member['member_id'] ) ) ) Zamień na: /* Warnings */ if ( ( isset($moderator[ $forum_id ]['allow_warn']) AND $moderator[ $forum_id ]['allow_warn'] ) OR ( ipsRegistry::member()->getProperty('g_is_supmod') == 1 ) OR $member['member_id'] ) Jeden z wymogów na zobaczenie ostrzeżeń to: Posiadanie praw moderatora w danym forum Posiadanie praw globalnego moderatora Bycie zalogowanym użytkownikiem Testowane! Pozdrawiam, Largo
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.