Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z kawałkiem kody-SQL Edytor stron przez www
Forum PHP.pl > Forum > PHP
Marecz
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.
chmiello
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 smile.gif
Marecz
  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?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.