Tani hosting

FIX: Error 404 podczas dodawania filmiku YouTube
Quik Offline
Administrator

Liczba postów: 741
Reputacja: 85
Post: #1
Exclamation FIX: Error 404 podczas dodawania filmiku YouTube 05-01-2015 11:22
Dzięki zwróceniu uwagi przez @kmike na niewygondy sposób zastosowania łatki postanowiłem jeszcze bardziej zgłębić problem.
Aktualna łatka zostanie dodana do najnowszej wersji TenTego

Problem wydawał się złożony jednakże rozwiązanie okazało się banalne. Do testów użyłem Hostingera, więc nie wiem jak będzie się ta łatka spisywać na innych serwerach. Z niewiadomych mi przyczyn serwer nie przyjmował niżej opisanych aliasów http przesyłanych przez pole o nazwie 'src'. Postanowiłem na nowo przebudować formularz i metodą prób i błędów doszedłem do tego, że wystarczy zmienić nazwę tego pola na inną (w tym przypadku 'video_url'). Nie wiem na ile uniwersalne jest to rozwiązanie ale na tą chwilę działa. Będę to w najbliższych dniach obserwował czy serwer nie filtruje inputów i nie zablokuje go jak w przypadku pola 'src'.

Plik app_page.php aplikacji manager (/admin/apps/manager/app_page.php):
.php  app_page.php (Rozmiar: 30.6 KB / Pobrań: 10)


!!!PONIŻSZA ŁATKA JEST POPRAWNA LECZ NIEAKTUALNA!!!
W związku z coraz liczniejszymi problemami dotyczącymi błędu 404 przy próbie dodania filmiku YouTube lub Vimeo, postanowiłem opublikować dla was łatkę. Przez długi czas próbowałem znaleźć przyczynę dlaczego tak się dzieje i niestety nie jest ona związana z naszym skryptem. Problem leży w konfiguracji serwera, który jest uruchomiony z pewnymi flagami, zmuszającymi serwer do validowania formularzy przed ich wysłaniem. Zazwyczaj ogranicza się to do sprawdzenia, czy formularz przesyła odnośniki do jakiejkolwiek strony www (poprzedzone aliasem http:// lub https://). Powyższy problem nie da się rozwiązać po stronie PHP, więc trzeba go wyeliminować poprzez dodanie poniższego kodu jQuery do swojego pliku ze skryptami (domyślnie: _/themes/[nazwa szablonu]/scripts.js ) w sekcji, która wywoływana jest dopiero po załadowaniu całego dokumentu

Kod PHP:
$(document).ready(); 

Łatka:
Kod PHP:
$("form").submit(function(e) {
    if( $(
"input[name=type]"this).val() === "youtube" || $("input[name=type]"this).val() === "vimeo" )
    {
        var 
src = $("input[name=src]"this);
        
src.valsrc.val().replace("http://""").replace("https://""") );
        return;
    }
}); 

Działanie skryptu:
Po wysłaniu formularza z filmikiem skrypt usuwa, podane wcześniej, aliasy i następnie przesyła zmienione dane.

PS!!!

Należy dodatkowo dodać do pliku /admin/apps/manager/app_page.php w metodzie addMovie() pod komentarzem:
Kod:
// Sprawdzanie czy video istnieje - Vimeo
następujący kod PHP:
Kod PHP:
if(!array_key_exists('scheme'parse_url($src)))
    
$src "http://".$src

Pomogliśmy? Uszanuj to i nie usuwaj stopki!
(Ten post był ostatnio modyfikowany: 05-01-2015 13:40 przez Quik.)
WWW Cytuj
Diabeł Online
Użyszkodnik


Liczba postów: 777
Reputacja: 666
kmike Offline
Pomocnik

Liczba postów: 2,094
Reputacja: 232
Post: #2
RE: FIX: Error 404 podczas dodawania filmiku YouTube 05-01-2015 12:06
Moim zdaniem bardzo brzydkie rozwiązanie. Takie rzeczy powinny być wykonane po stronie php.

- Pakiet aplikacji FB - 120 zł
- Pakiet WSZYSTKICH modyfikacji - 169 zł

WWW Cytuj
Quik Offline
Administrator

Liczba postów: 741
Reputacja: 85
Post: #3
RE: FIX: Error 404 podczas dodawania filmiku YouTube 05-01-2015 12:09
Nie wykonasz tego po stronie PHP. Przykro mi.

Wyżej opisałem na czym polega problem.

Pomogliśmy? Uszanuj to i nie usuwaj stopki!
(Ten post był ostatnio modyfikowany: 05-01-2015 12:09 przez Quik.)
WWW Cytuj
kmike Offline
Pomocnik

Liczba postów: 2,094
Reputacja: 232
Post: #4
RE: FIX: Error 404 podczas dodawania filmiku YouTube 05-01-2015 12:11
//edit
Możesz podać źródło tej informacji? Z technicznego punktu widzenia wydaje mi się to bez sensu, żeby apache walidował formularz.

- Pakiet aplikacji FB - 120 zł
- Pakiet WSZYSTKICH modyfikacji - 169 zł

(Ten post był ostatnio modyfikowany: 05-01-2015 12:15 przez kmike.)
WWW Cytuj
Quik Offline
Administrator

Liczba postów: 741
Reputacja: 85
Post: #5
RE: FIX: Error 404 podczas dodawania filmiku YouTube 05-01-2015 12:12
Eh. Między wysłaniem formularza, a skryptem PHP validowany jest formularz przez serwerowe skrypty. To się dzieje przed przesłaniem JAKICHKOLWIEK danych do interpretatora PHP.

Pomogliśmy? Uszanuj to i nie usuwaj stopki!
WWW Cytuj
kmike Offline
Pomocnik

Liczba postów: 2,094
Reputacja: 232
Post: #6
RE: FIX: Error 404 podczas dodawania filmiku YouTube 05-01-2015 12:20
Jeżeli działa to tak jak piszesz to jedynym i najlepszym rozwiązaniem będzie zmiana serwera, nie jakieś haki. To rozwiązanie, mimo że zadziała, jest paskudne i nie rozwiązuje przyczyny problemu tylko zwalcza jego skutki.

- Pakiet aplikacji FB - 120 zł
- Pakiet WSZYSTKICH modyfikacji - 169 zł

(Ten post był ostatnio modyfikowany: 05-01-2015 12:20 przez kmike.)
WWW Cytuj
Quik Offline
Administrator

Liczba postów: 741
Reputacja: 85
Post: #7
RE: FIX: Error 404 podczas dodawania filmiku YouTube 05-01-2015 12:24
Rozwiązanie jak rozwiązanie. Rozwiązuje problem pewnej grupy użytkowników TenTego i tyle. Możesz się również pobawić z SecFilterEngine ale ja się w to już nie zagłębiam.

Pomogliśmy? Uszanuj to i nie usuwaj stopki!
WWW Cytuj
Quik Offline
Administrator

Liczba postów: 741
Reputacja: 85
Post: #8
RE: FIX: Error 404 podczas dodawania filmiku YouTube 05-01-2015 13:20
Zaraz wyląduje tutaj inna poprawka. Przetestowałem jeszcze inne warianty i doszedłem do błędu przez nazewnictwo inputów w formularzu.

Pomogliśmy? Uszanuj to i nie usuwaj stopki!
WWW Cytuj
Sonix Offline
Użytkownik

Liczba postów: 4
Reputacja: 0
Post: #9
RE: FIX: Error 404 podczas dodawania filmiku YouTube 05-01-2015 16:24
po wgraniu app_page na stronie wyskakuję błąd

Cytat:Parse error: syntax error, unexpected T_STRING in /home/u960158603/public_html/admin/apps/manager/app_page.php on line 1
Cytuj
Quik Offline
Administrator

Liczba postów: 741
Reputacja: 85
Post: #10
RE: FIX: Error 404 podczas dodawania filmiku YouTube 05-01-2015 16:32
Rozumiem, że wrzuciłeś poprawkę korzystając z wersji TenTego 2.0.4a ?

Pomogliśmy? Uszanuj to i nie usuwaj stopki!
WWW Cytuj


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości