Skocz do zawartości
Zaloguj się, aby obserwować  
Mazyl

mod_layout

Polecane posty

Witam!

 

Mam pewien problem z wyswietlaniem reklamy.

 

używając auto_append_file dopisywanego do php.ini

reklama pokazywała mi sie tylko w plikach .php a na subdomenach miałem błąd:

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0
Fatal error: Unknown: Failed opening required 'ads.html' (include_path='.:/usr/local/lib/php') in Unknown on line 0

 

dodatkowo nie działało GD.

 

znalazłem informacje o mod_layout lecz nigdzie nie mogłem znaleść konkretnego sposobu na ustawienie go.

 

Prosiłbym o pomoc jak ustawić auto_append_file lub mod_layout. A może istnieje jeszcze jakiś sposób na wyświetlanie reklamy?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

auto_append_file = "ads.php" gdy plik ads jest umieszczony na VPS

 

lub

auto_append_file = "/home/l5k/domains/l5k.pl/public_html/ads.php"

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tzn?

 

możesz wyjaśnić ?

 

ścieszka ma wyglądać:

auto_prepend_file = "/home/l5k/domains/l5k.pl/public_html/ads.php"

Edytowano przez Mazyl (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

rozumiem, gdy wpisuje ścieszke absolutną dochodzi do tego błąd:

 

open_basedir restriction in effect. 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

tak wygląda błąd przy dopisaniu open_basedir:

 

Warning: Unknown: open_basedir restriction in effect. File(/home/l5k/domains/l5k.pl/public_html/reklama/ads.php) is not within the allowed path(s): (/home/mazylek/:/tmp:/var/tmp:/usr/local/lib/php/) in Unknown on line 0

 

a tak wygląda linia:

open_basedir = "/home/l5k/domains/l5k.pl/public_html/reklama/"

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

zresetowały sie prawidłowo,

co do tego mod_layout.

wolabym własnie takie zastosowanie lecz niestety nie potrafie go użyć,

jestem w stanie komuś kto sie na tym zna zapłacić nawet aby łopatologicznie mi to wytłumaczył i pomogł ustawić.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Analizując ten temat jakiś czas temu, to najprostszą dla ciebie radą będzie... abyś odpuścił to sobie. Nie da się nijak tego zadowalająco robić.

 

auto_append_file działa mniej więcej tak, jak byś w każdym z plików PHP dodał na końcu include('moj_plik.php');

Wynikające z tego zagrożenia to takie, że wykonywane jest to w kontekście użytkownika. Użytkownik musi mieć pełny dostęp do pliku i katalogu, w którym się on znajduje, co zauważyłeś z resztą - że ścieżka musi być absolutna, czytalna i dostępna przez wszystkich (hint na open_basedira: umieść w nim zarówno macierzysty katalog użytkownika (/home/user/), jak też i katalog w którym masz ten skrypt. Separatorem jest dwukropek. Czyli w twoim przypadku open_basedir="/home/user/:/www/miejscenareklamy/". A skoro ma uprawnienia dostępowe, to może go przeczytać. I to nie tylko ten wyświetlający reklamy, ale wszystkie z nim powiązane. Łącznie np. z plikiem config.php zawierającym dane do bazy danych.

 

Doczepianie tego oczywiście działa tylko dla plików php, no bo dyrekrywa auto_append_file to dyrektywa konfiguracyjna php, a nie serwera www. Próba doklejania do wszystkiego kończyć się będzie śmiesznie. Efekty też zaobserwowałeś - to jest to twoje "niedziałające GD". Konkretnie to GD działa, ale na koniec wygenerowanych plików doklejany jest kod twojej reklamy, przez co jakikolwiek czytnik widzi plik, który jest błędny. A wywróżyć, czy zwracana zawartość to html, czy też jakiś inny metatyp do z poziomu tej dyrektywy bardzo trudno.

 

Jeśli chcesz się bawić dalej, to postaw sobie pośredniczące proxy między użytkownikiem końcowym a serwerem www. Wtedy będziesz miał już dostępne metatypy zwróconych dokumentów. Dla text/html (i paru powiedzmy innych) jakimś cudotworem podmieniasz <body> na <body><twójdodatkowykod> i jakoś to ma szanse się kręcić wtedy.

Edytowano przez kafi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W htaccess?

Tam to chyba zdefiniujesz header, ale dla autoindeksów a nie dla zawartości.

Ale jeśli nawet, to tak, jak pisałem - zawsze będziesz miał problem z tym, że albo będzie nieskuteczne, albo będzie doklejać reklamy do binarek, przez co będą bezużyteczne.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam ponownie.

 

Zdecydowałem sie używać mod_layout tylko że mam spory problem z ustawieniem tego.

 

do pliku httpd.conf dopisuje:

<VirtualHost www.l5k.pl:80>
LayoutHeader /usr/local/lib/php/ads.php
</VirtualHost>

niestety nie pokazuje kodu. czy coś jeszcze trzeba dopisać ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×