PDA

Zobacz pełną wersję : Tabela w bazie danych rośnie jak na drożdżach



asik713
09-09-2012, 21:59
Witam

W ramach bezpieczeństwa robię co jakiś czas kopię całej strony. Dzisiaj jednak chciałam zrobić kopię tylko bazy danych (przy pomocy phpmyadmin) i zauważyłam, że strasznie się ona rozrosła.
Tabela która powoduje rozrost to: `j25_redirect_links`. Rośnie jak na drożdżach - nie wiem dlaczego zlicza ona wejścia na daną stronę czy podstronę. Na stronie nie mam zainstalowanej żadnej statystki - dawno temu miałam, ale wywaliłam.

Jakiś czas temu przeniosłam stronę z 1.7 na 2.5. Przenosiny udały się i strona funkcjonuje bez zastrzeżeń.

Dla próby wyczyściłam tę tabelę - strona działa normalnie, ale znowu po każdym wejściu na podstronę tabela "rośnie".

Na innej mojej stronie, która powstała już na 2.5 nie ma problemów z tą tabelą w bazie danych.

Co zrobić żeby zahamować rozrost tej tabeli ? Coś w panelu administracyjnym mam włączone, a nie powinnam ?

Karol99
09-09-2012, 23:21
Spójrz na zapleczu na Komponenty --> Przekierowania - tam znajdziesz te wpisy, które powodują "puchnięcie" bazy. To wywołania nieistniejących adresów na stronie.

W zasadzie biorą się one z dwóch powodów: prób ataków na stronę (np. miałem wywołanie components/com_phocagallery/assets/js/jak/"+path+", czy niezainstalowanych na stronie komponentów) albo wywołania adresów np. istniejących kiedyś (np. zmienionych po migracji czy włączeniu prostych adresów).

Na pierwszy rodzaj - nie bardzo jest rada poza ustaleniem ip atakujących (np. w logach serwera) i ich blokowaniem (np. w .htaccess).

Co do drugiego - jeśli jakiś konkretny adres jest wywoływany wiele razy (np. bo gdzieś w sieci siedzi jako link do Twojej strony), to warto w tym komponencie zrobić mu przekierowanie na istniejącą podstronę.

Wpisy z tej tabeli możesz też skasować, a potem usunąć z kosza - to doraźnie odchudzi bazę.

asik713
10-09-2012, 00:27
Bardzo Ci dziękuję za pomoc. Po wywaleniu tych nieistniejących adresów baza zrobiła się zdecydowanie lżejsza. Jednak już po kilkunastu minutach pojawiły się dwa nowe wywołania odnoszące się do kalendarza, który miałam przed migracją. Póki co nie potrzebuję tej funkcji "przekierowań" i dlatego na razie wyłączyłam dodatek odpowiedzialny za to.
Jeszcze raz dziękuję za pomoc :)

zwiastun
10-09-2012, 01:01
i dlatego na razie wyłączyłam dodatek odpowiedzialny za to.
To nie jest dobry pomysł.

asik713
10-09-2012, 01:14
Pewnie dostanę burę za głupie pytanie, ale dlaczego ?

zwiastun
10-09-2012, 02:38
Dzięki działaniu tego dodatku otrzymujesz informację o adresach stron, których poszukują znający Twoją witrynę, a które już nie istnieją, albo się zmieniły. Wyłączając dodatek, pozbywasz się tych informacji. W efekcie użytkownik szukający jakiejś Twojej strony w Internecie otrzymuje komunikat, że ta strona nie istnieje.

Karol99
10-09-2012, 10:16
@asik713: posłuchaj Zwiastuna, jak zwykle ma rację.

Jak już ktoś znalazł Twoją stronę i chce ją odwiedzić, to trzeba mu to ułatwić, a nie utrudnić. Tak jak pisałem, dla często wywolywanych nieistniejących adresów warto zrobić przekierowania na istniejącą podstronę.

Gall Anonim
10-09-2012, 11:31
Redirect jest narzędziem służącym do tego co napisał @Karol99
Nieistniejące adresy lub adresy sprzed migracji i zmian przekieruj na obecne oczekiwane lub jeżeli nie masz już komponentu - przekieruj na stronę obecną lub oczekiwaną
Kolejny ruch to nowa mapa witryny dodana do zarejestrowanej strony w narzędziach deweloperskich google i poprawki wedłu zaleceń laboratorium w narzędziach google do strony
Sprawa będzie rozwiązana w bardzo krótkim czasie
Kasowanie zawartości komponentu redirect jest kiepskim pomysłem ponieważ spowoduje co najwyżej spadek wartości witryny w google - jeden z algorytmów w google odnosi się właśnie do ślepych/nieistniejących linków a znajdujących się jeszcze w index'ie google.
Należy więc włożyć w witrynkę trochę pracy i będzie ok.
Pzdr

Karol99
10-09-2012, 11:49
Nieistniejące adresy lub adresy sprzed migracji i zmian przekieruj na obecne oczekiwane lub jeżeli nie masz już komponentu - przekieruj na stronę obecną lub oczekiwaną

@Gall Anonim: Czy ja napisałem cokolwiek, co kłóci się z Twoimi słowami?

Edit: Przepraszam, nie ma tematu - coś mi się pozajączkowało... :(

asik713
10-09-2012, 15:56
Huh ... 100 nowych odwołań - trochę dziwne, że odwołania są do kalendarza (jevents) z datą na 2014 rok ... mimo wszystkiego skorzystam z Waszych rad i pobawię się w te przekierowania :) pozdrawiam i dziękuję za pomoc :)

Karol99
10-09-2012, 17:26
odwołania są do kalendarza (jevents) z datą na 2014 rok

Ktoś zapewne szuka dziury w całym... Sprawdź w logach serwera - sądzę, że te wywołania pochodzą z jednego, najwyżej kilku ip. Wtedy łatwo je zablokować wpisem w htaccess.

I pilnuj aktualizacji J! i rozszerzeń - ostatnio na forum fala postów od tych, którzy nie pilnowali i teraz mają kłopoty :(

asik713
11-09-2012, 16:28
Sprawdziłam i wywołania pochodzą od robocików googla ... blokować, więc nie bardzo jest sens.

Aktualizuję wszystko na bieżąco, aczkolwiek kłopoty i bez tego mogą się zawsze pojawić :)

Gall Anonim
11-09-2012, 21:45
Ktoś zapewne szuka dziury w całym... Sprawdź w logach serwera - sądzę, że te wywołania pochodzą z jednego, najwyżej kilku ip. Wtedy łatwo je zablokować wpisem w htaccess.
@Karol99 jeżeli w JEvents kalendarz jest/był ustawiony w zakresie do roku 2014 to tak się będzie działo o ile nie jest tworzona właściwa mapa i przekierowanie do niej w robots.txt
Kiedyś znajomy opowiadał mi o takiej szopce że kalendarz nie miał roku zamknięcia i zanim ktokolwiek sprawdził bazę - spuchła ona do niebotycznych rozmiarów :-)

@asik713 - Albo ogranicz zakres JEvents do powiedzmy grudnia 2012, albo wygeneruj mapę strony, usuń nadmierne linki i w robots.txt daj wskazanie ścieżki bezpośrednio do mapy, i w robots.txt zablokuj index'owenie JEvents
Nie wiem czy Xmap ma plugin dla JEvents - ale stawiam na to że ma - wówczas możesz się pobawić właściwymi ustawieniami w Xmap
Pzdr