Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z kawałkiem kody-SQL Edytor stron przez www, Nie działa kod
Marecz
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 5.08.2013

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


Witam otóż mam część kodu panelu edytora:
  1. <?
  2. IF($_GET[str] == "" ) {
  3. } else {
  4.  
  5.  
  6. $strr = explode("/", $_GET[str]);
  7. $strr = array_reverse($strr);
  8. $strr = explode(".", $strr[0]);
  9. IF($strr[0] == "cos" || $strr[0] == "innecos" || $strr[0] == "takietamcos") {
  10. echo"W tym pliku dane są zastrzeżone. Błąd dostepu";
  11. } else {
  12. @$open_file = fopen($_GET[str], "r");
  13. @$text = fread($open_file, 999999);
  14.  
  15. echo"<textarea name='site' style='height:500px; width:100%;'>" . CHANGE($text) . "</textarea>";
  16.  
  17.  
  18. @fclose($open_file);
  19. }
  20. ?>

I w miejscu "cos" chcę zrobić aby był zastrzeżony plik w tym katalogu bo plik wraz z tym kodem jest w pliku o nazwie pa.php i jest w katalogu o nazwie edytor.
Jeżeli zostawię tak jak jest to ten kod działa ale blokouje plik w katalogu głównym a nie mogę zrobić żeby były blokowane pliki w katalogach

Próbowałem usunąć explode ale bez tego kod nie działa
Załóżmy że chcę zablokować plik o nazwie cos ktory jest w katalogu o nazwie edytor
próbowałem ../cos.php
/edytor/cos.php

Ale nie działa inne forum olewały to i tłumaczyły że nie potrafią liczę że pomożecie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
chmiello
post
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 5
Dołączył: 12.07.2010

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


no kod działa tak, jak trzeba bo jest tu wyraźne napisane, że wywalasz pliki o nazwie coś, cośinnego, takietamcos niezależnie od tego, gdzie te pliki się znajdują (czy to w katalogu głównym czy w każdym innym dowolnym), jeżeli chciał byś zablokować edycję konkretnego pliku, to musisz dać na samym początku else jeszcze jednego if'a :

  1.  
  2. <?
  3. IF($_GET[str] == "" ) {
  4. } else {
  5.  
  6. if($_GET['str'] == "kalatlog/w/ktorym/jest/plik/cos.txt"){
  7. // NIE MOŻNA WDYTOWAĆ
  8. } else {
  9. $strr = explode("/", $_GET[str]);
  10. $strr = array_reverse($strr);
  11. $strr = explode(".", $strr[0]);
  12. IF($strr[0] == "cos" || $strr[0] == "innecos" || $strr[0] == "takietamcos") {
  13. echo"W tym pliku dane są zastrzeżone. Błąd dostepu";
  14. } else {
  15. @$open_file = fopen($_GET[str], "r");
  16. @$text = fread($open_file, 999999);
  17.  
  18. echo"<textarea name='site' style='height:500px; width:100%;'>" . CHANGE($text) . "</textarea>";
  19.  
  20.  
  21. @fclose($open_file);
  22. }
  23. }
  24. ?>
  25.  


i wówczas podajesz konkretny plik/pliki które maja być nietykalne (IMG:style_emoticons/default/smile.gif)

Ten post edytował chmiello 5.08.2013, 12:13:28
Go to the top of the page
+Quote Post
Marecz
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 5.08.2013

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


  1. IF($_GET['str'] == "../edytor/user.php" || $strr[0] == "../edytor/duser.php"){


A jak chcę zrobić z tym if'em więcej zablokować bo tak jak zrobiłem blokuje tylko pierwszego a reszta normalnie chodzi.

Pomożesz?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 00:02