![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 6.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Szukałem sporo na temat ukrywania URL downloadu, głównie w języku angielskim. Znalazłem ogrom skryptów, niestety, albo były typowo pod jeden plik lub jeden folder, albo nie były do końca wyjaśnione i nie byłem w stanie ich zrozumieć. Dodatkowo wszystko z około 2006 roku dlatego głupio by mi było odkopywać tamte tematy. Głównym problemem w moim przypadku są serwery... Nie posiadam jednakowego folderu dla wszystkich plików. Korzystam z darmowych hostingów, więc niedość, że mają one często dziwne linki download (hotlink) to jeszcze nazwa często jest 50cio kilometrowa - randomowa i to właśnie chcę ukryć. Osoba ma mieć możliwość pobrania pliku, a nie mieć możliwości znalezienia hostu (często programy wspomagające pobieranie widzą url). Moja strona w przykładzie wygląda nastepująco: Wybieramy z menu film, przenosi to nas do strony głównej tego filmu np example.com/film1/index.php i tu widzimy liste plikow do pobrania np. scena1, scena2, scena3 Chciałem to zrobić w html'u, niestety mogę tam tylko wprowadzić nazwę pliku poprzez: <a href="xyzhost.abc/qwerty123.mp4" download="Scena1.mp4">Scena 1</a> Chciałbym to zrobić dla każdego filmu osobno np /film1/download.php i w tym pliku dodać każdy z linków dla scen z filmu1. W /film2/download.php znów osobno powklejam linki dla scen z filmu2. chyba, ze można by to zrobić dla większej ilości tj: Index > Kategoria > Film > Sceny Czyli jeden plik download w kategorii i tam linki dla scen z film1, film2 i film3. To jeszcze bardziej zmniejszyłoby mi czas potrzebny do edytowania linkow w przyszłości. Znalazłem oto taki kod: get.php:
I linki dla pliku:
I takie coś w sumie by mnie zadowoliło, ale nie wiem czy ten skrypt jest poprawny i czy schowa linki dla download menagerów. W następnym poscie osoba, który go napisała, powiedziała, żeby osoba, której pomagal nie używała go bo coś tam jest źle. I po kolejnym czasie dodał kolejnego posta z poprawionym kodem, niestety, poprawiony skrypt miał już możliwość dodania tylko i wyłącznie folderu wszystkich plików... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
przynajmniej wstawiłeś kod w bbcode... co jest źle?? trochę zależy od tego co autor miał an myśli... ale z linku readfile masz niemal identyczny kod - poszukaj różnicy i gdzie może być błąd w skrypcie - z tego co na szybko po paru głębszych widzę to w nazwie plików... ale dalej popracuj nad logiką aplikacji... nawet jakbyś wszystko miał nie w prost w kodzie a generowane przez JavaScript to to nie jest żaden problem nawet przy rozbudowanym i zakodowanym JS gdyż wersja łatwiejsza dla obchodzącego stronę - pisze plugin do przeglądarki i komunikuje się z serwerem... dla kogoś co wie coś więcej korzysta z przeglądarki w danym języku obsługującej JS i robi co chce (np. C++ Qt webkit itp.... itd... i ostatnio popularny Node.JS skoro korzysta z silnika przeglądarki to i może w nim można udawać przeglądarkę w pełni tego słowa znaczeniu...)...
raczej popracuj nad tym, kto te dane już może zobaczyć... a jeśli już tak mocno chcesz iść w ukrywanie kodu to nie pisz linków jako tekst tylko canvas, kod JS na stronie bez zewnętrznych/globalnych zmiennych i wszystko na socketach lub łatwiejsze do odczytania chociaż AJAX po jakiejś komunikacji - ale dalej jak sobie to rozplanujesz bo wszystko da się "debugować" więc przede wszystkim skup się na logice aplikacji i kto faktycznie może to obejrzeć... ps. może ktoś komu np. załadował się jakiś obrazek w tle (np. CSS) który może być wysyłany przez serwer w sesji czy inne nie elementy nie wydające się istotne które można zapisać w sesji... ale jeśli ktoś skorzysta z pluginów do przeglądarek lub np. C++ Qt webkit na podglądzie to i tak nic to nie da ;]... -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
Ogolem to uzywaj isset aby sprawdzic czy indeks id w $_GET istnieje
Uzywaj <?php zamiast <? (Unikniesz sporo problemow / zaleznie od konfiguracji serwera i wersji php)
To jest nie poprawne. Jako ze uzyles = zamiast == lub === Przez co utworzyles zmienna $id z wartoscia 1 ktora ostatecznie zwroci w warunku prawdę. I ten if się wykona, analogicznie reszta. Jako ze uzyles if...if.. zamiast if...elseif..else lub switch, wykona sie kazdy if po kolei zamiast np. Pierwszy, tak wiec ostatecznie jak zrobisz w lini 20 echo $filename; powinno tobie pokazac zawsze file4.mp3 Gdy to wszystko poprawisz powinno juz pokazywac patch wybrany przez ciebie zamiast bezwzgledny. Co do pierwszego masz tu przykładową poprawkę:
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 6.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje za odpowiedzi...
Co do skryptu to skopiowałem go tak jak napisał go autor dla tamtego użytkownika i chciałem się dowiedzieć czy, aby napewno jest poprawny. Stąd te ".mp3" Jak wspomniałem, później autor poprawiał się... Cytując co zrobił źle wg niego: Cytat mime_content_type($filename); doesn't work, for some odd reason. So once I worked around that, it wouldn't recognize the different file names. Cytat I did some googling, checking my steps, and I realized I used all if statements instead if one if and the rest elseif and it still wouldn't work. Także @KsaR dobrze zauważyłeś... Nie bez powodu wysłałem też posta w dziale 'Przedszkole'... Prosiłbym o pomoc jak to w końcu DOBRZE miałoby wyglądać. Tak, jestem zielony. A tak wyglądał poprawiony kod, który już odnosi się do katalogu, dlatego też mnie nie interesuje:
Kontynuując i poprawiając skrypt w mój zielony sposób, to miało by to wyglądać tak?:
Jeszcze raz dziękuje za odpowiedzi. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
"$id ="
Dodaj jedno = wiecej, zeby "porownac wartosci" a nie "przypisac do zmiennej $id wartosc" Warto tez dodac else za ostatnim elseif w razie gdy zaden warunek sie nie spelni to cos zrobic.. Np. Skrypt zatrzymac czy cos (przez exit(); ) Ten post edytował KsaR 24.03.2016, 00:31:30 -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 6.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca wiem jak to zrobić...
EDIT: Także sprawdziłem ten oto skrypt i przy naciśnięciu na download dostawałem error dot.
Poszukałem w necie i NIE WIEM CZY DOBRZE, ale zmieniłem swój skrypt na takowy:
Ten skrypt pobiera mi plik "$filename", a w nim:
Ten post edytował przemekfilu 24.03.2016, 13:31:49 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 04:29 |