• Zabezpieczenie postowania nowych użytkowników

Forum rules:Click here to view the forum rules

1. W tym dziale dozwolone jest wyłącznie zgłaszanie problemów, błędów czy też propozycji usprawnień, związanych bezpośrednio z forum Elvikom.
2. Zabronione jest zamieszczanie jakichkolwiek danych osobowych/firmowych, a także reklamy (w tym kryptoreklamy).
3. Piszemy poprawną polszczyzną, nie przeklinamy, nie krzyczymy.

#1 Zabezpieczenie postowania nowych użytkowników


by Syri 29 January 2015, 18:21
Natchnęło mnie tutaj na napisanie pewnego moda do phpbb który moim zdaniem może się przydać. Autorem jestem ja i właśnie to popełniłem więc nie testowano nigdzie poza localhost :) Polega no na tym, że użytkownicy mający ilość postów oraz tematów mniejszą od określonej (w tym wypadku 5) muszą odpowiedzieć na pytanie jak przy rejestracji.

Edytujemy plik posting.php

Znajdź:
Code: Select allif($config['enable_post_confirm'] && !$user->data['is_registered'])


Zmień na:
Code: Select allif ($config['enable_post_confirm'] && $user->data['user_posts']<5)


Znajdź:
Code: Select allif ($config['enable_post_confirm'] && !$user->data['is_registered'] && in_array($mode, array('quote', 'post', 'reply')))


Zmień na:
Code: Select allif ($config['enable_post_confirm'] && $user->data['user_posts']<5 && in_array($mode, array('quote', 'post', 'reply')))


Znajdź:
Code: Select allif ($config['enable_post_confirm'] && !$user->data['is_registered'] && (isset($captcha) && $captcha->is_solved() === true) && ($mode == 'post' || $mode == 'reply' || $mode == 'quote'))


Zmień na:
Code: Select allif ($config['enable_post_confirm'] && $user->data['user_posts']<5 && (isset($captcha) && $captcha->is_solved() === true) && ($mode == 'post' || $mode == 'reply' || $mode == 'quote'))


Znajdź:
Code: Select allif ($config['enable_post_confirm'] && !$user->data['is_registered'] && (isset($captcha) && $captcha->is_solved() === false) && ($mode == 'post' || $mode == 'reply' || $mode == 'quote'))


Zmień na:
Code: Select allif ($config['enable_post_confirm'] && $user->data['user_posts']<5 && (isset($captcha) && $captcha->is_solved() === false) && ($mode == 'post' || $mode == 'reply' || $mode == 'quote'))


Re: Zabezpieczenie postowania nowych użytkowników


by Google Adsense [BOT] 29 January 2015, 18:21

#2 Re: Zabezpieczenie postowania nowych użytkowników  [SOLVED]


by Vogelek23 31 January 2015, 00:43
Cieszę się niezmiernie, że po kilku latach istnienia forum ujawnił się wreszcie ktoś z talentem do modyfikowania phpBB :) Odniosę się jednakże do przedstawionej propozycji, którą przeanalizowałem naprawdę uczciwie i pod każdym kątem - dlatego odpisuję z pewnym opóźnieniem.

Powyższe usprawnienie będzie działało w 100% w opisany przez Ciebie sposób. Problem jednak w tym, że nie zabezpieczy nas to efektywnie przed spamem - skoro ktoś zarejestrował się już na forum, musiał prawidłowo odpowiedzieć na pytanie zabezpieczające przy rejestracji (proszę pamiętać, że u nas goście/osoby niezarejestrowane nie mogą w ogóle pisać postów ani tworzyć nowych tematów). W przypadku, gdy dany użytkownik odpowiedział na pytanie przy rejestracji, odpowie bez większego problemu na kolejne podczas pisania posta na forum - posta, który może się okazać reklamą, spamem lub nawet złośliwym kodem. Taki post, zakładając wyłączenie obecnego systemu antyspamowego, byłby natychmiast opublikowany na forum po poprawnej odpowiedzi na pytanie zabezpieczające.

Obecny system antyspamowy nie jest bynajmniej doskonały, ale daje nam szansę zablokowania szkodnika, zanim ten narobi zamieszania. Nie jest bowiem sztuką napisać 5 postów w dowolnym dziale i mieć potem możliwość pisania we wszystkich działach bez konieczności odpowiadania na pytania. A jeśli delikwent będzie to robił np. o 2:00 nad ranem, przez co najmniej kilka następnych godzin będzie prawdopodobnie "bezkarny" - w takim czasie można na forum zamieścić naprawdę dużo spamu, używając metody CTRL+C -> CTRL+V.

Obecny system przewiduje, że nowy użytkownik może napisać jeden (np. pierwszy) post, który nie odnosi się do jakichkolwiek napraw - jest to przywitanie się w dziale O SOBIE. Jeśli jednak użytkownik swoje pierwsze posty opublikuje w dziale NA WESOŁO a ich treść będzie zbliżona do "hahaha" albo "dobre" - moderator ma możliwość odrzucenia takich postów. Twoje rozwiązanie nie przewiduje, niestety, takich sytuacji.

Równie często zdarzają się przypadki, w których nowi użytkownicy zamieszczają w działach punktowanych posty typu "thx", "dzienks" czy "daj mi ten schemat na mejla aaa@bbb.xx". Proszę mieć na uwadze, że każdy post w działach punktowanych dodaje do konta 2 Punkty - dwa takie "śmieciowe" posty typu "dzienks" i użytkownik nie musi potem nawet pisać o wysłaniu schematu na maila. Obecny system blokuje również i takie przypadki, czego Twoje rozwiązanie nie przewiduje.

Mimo wszystko jednak - jak już wspomniałem na wstępie - bardzo się cieszę, że przedstawiłeś tutaj swoją propozycję. Podkreślenia wymaga fakt, że kod jest zmodyfikowany poprawnie i zadziała w 100% zgodnie z Twoimi założeniami. Rozwiązanie to zdałoby egzamin zwłaszcza na forach, na których osoby niezarejestrowane mogą pisać posty, a także na forach o dużej aktywności spambotów - jednakże u nas nie ma ani spambotów, ani też możliwości pisania postów z konta gościa :)

Oczywiście jestem otwarty na wszelkie dyskusje w tym temacie, a także służę doświadczeniem oraz informacjami, które pomogłyby Ci na przykład w napisaniu innego przydatnego narzędzia dla forum. Skrypt phpBB jest bowiem dość ciekawym i wciągającym tworem dla programisty, choć wcale nie jest łatwy w "okiełznaniu" ;)

#3 Re: Zabezpieczenie postowania nowych użytkowników


by Syri 31 January 2015, 09:29
Na co dzień zajmuję się WordPressem a z phpbb ostatnio miałem do czynienia około 2010 roku mimo wszystko dość sprawnie udało mi się stworzyć tę drobną modyfikację :) Oczywiście zgadzam się z Twoimi argumentami które mnie osobiście przekonały i jednocześnie polecam się na przyszłość, coś tam potrafię i jeśli trzeba chętnie czasem coś zakoduję.

Re: Zabezpieczenie postowania nowych użytkowników


by Google Adsense [BOT] 31 January 2015, 09:29

Who is online

Users browsing this forum: No registered users and 1 guest

_______________________________
All rights reserved. Unauthorised copying of this website's content or any of its part is strictly forbidden.
Any trademarks, brand names, products or services published on this website belong to their legal owners, are copyrighted and used for information purposes only.