
Metoda $_POST już mi lepiej wychodzi. A gdy próbuję coś zrobić z $_GET to nic mi nie wychodzi :/ Pomożecie, i ew. napiszecie jakiś przykładzik..
<?php $id=$_GET['id']; include('./artykuly/'.$id.'.php'); ?>
<?php $id=$_GET['id'] ?>
<?php $userFile = '....'; // zakładamy, że to dane od użytkownika, tak? // prosty filtr, który wywala wszystkie pliki, które składają się ze ścieżki } // to teraz ja wiem z jakiego folderu, atakujący nie wie } else { inlcude ('abrakadabra/' . $userFile); } ?>
<?php $userFile = '....'; // zakładamy, że to dane od użytkownika, tak? // prosty filtr, który wywala wszystkie pliki, które składają się ze ścieżki } // to teraz ja wiem z jakiego folderu, atakujący nie wie } else { inlcude ('abrakadabra/' . $userFile); } ?>
<?php $plik = $_GET['file']; { } if(!include('tajnasciezka/'.$plik.'.inc')) { } ?>
i wychodzi na dokładnie to samo, tylko bez niedogodności powyżej. Tak, wyświetlanie warningów to jest błąd bezpieczeństwa. Spójrz sobie jeszcze raz - widać jaka jest ścieżka, jaki jest folder z wczytywanymi plikami a to wszystko osłabia bezpieczeństwo serwisu.
<?php $userFile = '....'; // zakładamy, że to dane od użytkownika, tak? $userFile .= 'inc'; ?>
i wychodzi na dokładnie to samo, tylko bez niedogodności powyżej. Tak, wyświetlanie warningów to jest błąd bezpieczeństwa. Spójrz sobie jeszcze raz - widać jaka jest ścieżka, jaki jest folder z wczytywanymi plikami a to wszystko osłabia bezpieczeństwo serwisu.
<?php $userFile = '....'; // zakładamy, że to dane od użytkownika, tak? $userFile .= 'inc'; ?>
<?php $zmienna_konfiguracyjna_1 = 'wartość'; $zmienna_konfiguracyjna_2 = 'wartość'; $zmienna_konfiguracyjna_3 = 'wartość'; $zmienna_konfiguracyjna_4 = 'wartość'; ?>