Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Mega system administracji
intol
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 29.07.2003

Ostrzeżenie: (10%)
X----


Chcialem napisać mega system administracji. Chodzi o to że na stronie zamieścił bym plik np. administracja.php. Aby rozpocząć aministrację trzeba by się było oczywiście zalogować biggrin.gif . Następnie skrypt wczytywał by (oczywiście z zastosowaniem funkcji htmlentites) do textarea(na zasadzie formularza) dowolny plik z serwera do edycji. Teraz mógłbym sobie dowolnie grzebać w pliku, a następnie zapisać go w zmienionej formie.

Napisałem coś podobnego, ale po wczytaniu np. dokumentu index.txt (który później includuje do skryptu index.php który wyświetla stronę) i nawet bez robienia zmian, skrypt przy zapisywaniu dodaje do końca dokumentu jakieś "niewidoczne znaczniki" i później przy ładowaniu strony index.php wyświetla mi błąd "parase error" i podaje "on line" i tu linijka znajdująca się poza treścią pliku index.php (czyli ostatnia linia zawartości pliku index.txt). Dodam że plik index.php jest napisany na pewno prawidłowo.

Trochę dużo tego ale może ktoś załapie o co chodzi :?: :idea: biggrin.gif


--------------------
Zbiór najlepszych technologicznych artykułów (programowanie, internet, linux)
Go to the top of the page
+Quote Post
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




ja załapałem - chyba.
jak dla mnie w includoiwanym pliku masz jakiś fragment, który zostaje zinterpretowany przez parser i rozwala resztę skryptu.

Jak dla mnie powinienes zrezygnowac z [manual:4cc45b29a3]include()[/manual:4cc45b29a3] na rzecz [manual:4cc45b29a3]file()[/manual:4cc45b29a3] i innych funkcji pokrewnych.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
LeWaR
post
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 1
Dołączył: 22.04.2002
Skąd: Szubin

Ostrzeżenie: (0%)
-----


Chyba on chce zrobić edytor php via www...
Ztąd ten include.
Go to the top of the page
+Quote Post
Seth
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


intol: prosze dostosowac podpis do wymagan regulaminu.
Go to the top of the page
+Quote Post
spenalzo
post
Post #5





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
wyświetla mi błąd "parase error" i podaje "on line" i tu linijka znajdująca się poza treścią pliku index.php (czyli ostatnia linia zawartości pliku index.txt).

To wygląda tak, jakby gdzieś brakowało lub była zbędna klamra.


--------------------

Go to the top of the page
+Quote Post
intol
post
Post #6





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 29.07.2003

Ostrzeżenie: (10%)
X----


Cytat
To wygląda tak, jakby gdzieś brakowało lub była zbędna klamra.
Błąd podaje na samym koncu pliku, chodzi miejwięcej o coś takiego:
Kod
tutaj jakieś cośtam
i tutaj błąd. Może jakieś znaki tabulacji?questionmark.gif

Cytat
Chyba on chce zrobić edytor php via www...  
Ztąd ten include.
Poniekąd owszem. Nie chce mi się pisać wszelakich modułow administracji....

Kod
Jak dla mnie powinienes zrezygnowac z include() na rzecz file() i innych funkcji pokrewnych.
W miarę możliwości prosił bym o jakiś przykład.


A swoją drogą, może istnieją jakieś gotowe skrypty tego rodzaju?questionmark.gif W google chyba nie mam co szykać pod hasłem total admin....? :wink:
?>[/php]


--------------------
Zbiór najlepszych technologicznych artykułów (programowanie, internet, linux)
Go to the top of the page
+Quote Post
Piotr Mederak
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 28.07.2003
Skąd: Brwinów koło Warszawy

Ostrzeżenie: (0%)
-----


No to po kolei (ja w ten sposob wszelkie pliki konfiguracyjne na swoich stronach sobie modyfikuje smile.gif ):

[php:1:55b1deaa2b]<?php
if(!$_POST[config] || strlen($_POST[config])<100)
{
// zczytujemy zawartosc pliku config.php
$config_file = file($CONFIG[dirs][system]."config.php");
if(!$config_file)
$body .= "Nie moge odczytac pliku <b>config.php</b>!";

$txt = join($config_file, "");

$body = "
<form action="$_SERVER[PHP_SELF]" method="POST">
<textarea style="width: 100%;height:500px; font-size: 11px; font-family: Monospace" name="config">$txt</textarea>
<br>
<input type="submit" class="submit" value="Zapisz">
</form>
";
}
else
{
// czyscimy zmienna
$tresc = stripslashes($_POST[config]);
$tresc = preg_replace("/rn/", "n", $tresc);

$f = fopen($CONFIG[dirs][system] . "config.php", "w");
flock($f, 2);
fwrite($f, $tresc);
flock($f, 3);
fclose($f);

$body = "Zmiany dokonano pomyslnie.<br>
<br>
<br>
<a href="$_SERVER[PHP_SELF]">Wroc do edycji pliku config.php</a>";
}
?>[/php:1:55b1deaa2b]


--------------------
www.humor-na-gg.w.pl
Go to the top of the page
+Quote Post
intol
post
Post #8





Grupa: Zarejestrowani
Postów: 110
Pomógł: 1
Dołączył: 29.07.2003

Ostrzeżenie: (10%)
X----


Dzięki za odpowiedź biggrin.gif Przetestuje to.


--------------------
Zbiór najlepszych technologicznych artykułów (programowanie, internet, linux)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 15:58