![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 25.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Od pewnego czasu nurtuje mnie pewna kwestia. Jak mogę zabezpieczyć swoją stronę? Szukałem wszędzie informacji na ten temat, niestety wszędzie gdzie napisane jest coś o bezpieczeństwie, przykłady dotyczą strony z panelami administracyjnymi, formularzami kontaktowymi itd. Otóż moja strona jest dosyć specyficzna - to zwykła strona informacyjna, która nie zawiera żadnych formularzy itp. Użytkownik praktycznie nigdzie nie podaje wartości żadnej zmiennej. Czytałem sporo poradników na temat bezpieczeństwa i wydaje mi się, że wszystko jest dobrze, jednak bardzo przyda mi się także opinia ekspertów w tej sprawie, gdyż zawsze mogło mi coś umknąć. Byłbym wdzięczny za sprawdzenie czy wszystko jest w porządku w tych linijkach kodu:
Pliki includuję w ten sposób:
W ten sposób wczytuję treść do "głównego" diva (na początku kiedy nie ma żadnych zmiennych w pasku adresu, wczytują się newsy):
W pliku naglowki.php są zmienne, które wyglądają w ten sposób:
Nagłówek jest wyświetlany w PLIKU HTML (czy to jest błąd, że plik jest w html i posiada kod php? I tak jest includowany do index.php, więc ma to jakieś znaczenie?) na samym początku w ten sposób: Tak wygląda odnośnik w menu*: Tak wygląda moje zapytanie do bazy MySQL wyciągające newsy:
Zapytanie wyciągające z bazy np. linki do najnowszych filmów z kanału YT:
Tak wygląda zawartość kolumny 'zawartosc' w tabeli z newsami w bazie MySQL (czy kod HTML nie jest zagrożeniem kiedy jest pobierany z bazy?):
To jest na końcu pliku index.php
* - odnośnik w menu - zastanawia mnie właśnie czy bezpiecznie jest kiedy w zmiennej znajdują się ukośniki: / (zmienna dział przyjmuje wartość z ukośnikiem: dzial=gry/gra1). Czy zauważyliście w tym kodzie jakieś luki, które mogłyby umożliwić komuś atak? Będę wdzięczny za przeanalizowanie tych fragmentów kodu. Mam obsesję na tym punkcie, tj. chcę mieć pewność, że strona jest bezpieczna. Pozdrawiam! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 25.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Spoko, w wolnym czasie rzucę okiem na tę bibliotekę PDO. Jak czegoś nie zrozumiem to będę pytał. (IMG:style_emoticons/default/wink.gif)
Przygotowałem skrypt z tym switchem. Jak strona teraz powinna się zachowywać gdy zmienię wartość zmiennej 'strona' w pasku adresu na jakąś inną niż jest w switchu? To dobrze jeśli w środkowym divie nie wyświetla się nic? Jest tylko błąd że ta ścieżka nigdzie nie prowadzi. Zauważyłem że jeśli jestem w dziale który w switchu jest ustawiony przy default, zawartość tego diva do którego includuję pliki nie zmienia się. Tj. na default ustawiłem dział z newsami i jeśli zmiennej 'strona' przypiszę jakąś inną wartość niż podałem w tym switchu, strona nie zmienia się. Natomiast jeśli w dziale z którąś grą przypiszę inną wartość zmiennej 'strona' niż jest w switchu, pojawia się błąd o tym, że nie znaleziono takiego pliku. To dobrze, czy coś zrobiłem źle? EDIT: Chyba już rozgryzłem. Ustaliłem takie nazwy plików, żeby w każdym dziale była strona o takiej samej nazwie (info) i jest ona ustawiona w default. Teraz kiedy zmieniam wartość zmiennej 'strona' w pasku adresu, zawsze przekierowuje na stronę info. Kiedy zaś zmienię wartość zmiennej 'dzial' przekierowuje na dział z newsami, który jest ustawiony w default. Tak to powinno działać? EDIT 2: Już całkowicie chyba to zrozumiałem. Mój tok rozumowania jest taki: w case podaję WSZYSTKIE wartości jakie może przyjąć zmienna 'dzial' lub 'strona'. W default podaję wartości zmiennych jakie mają zostać przypisane jeśli wartość zmiennej nie pokryje się z żadnym z caseów. Z czego zauważyłem ma to jednak w moim przypadku jedną wadę - zmienna 'strona' może przyjąć taką samą wartość w kilku działach, jednak podstrony o takiej nazwie może nie być w innym dziale. Już wyjaśniam to na przykładzie:
I teraz tak. 'postac1' istnieje w dziale 'gry/gra1' i 'gry/gra2', za to nie istnieje już w dziale 'gry/gra3'. Teraz wystarczy że podmienię wartość zmiennej 'dzial' na 'gry/gra3', ZOSTAWIAJĄC PRZY TYM wartość zmiennej 'strona' tak jak była, czyli: 'postacie/postac1' i strona się wysypie. Czy mój tok rozumowania jest dobry, czy po prostu coś źle ogarnąłem? (IMG:style_emoticons/default/biggrin.gif) Jeśli wszystko jest dobrze to myślę, że lepiej niż SWITCH sprawdziłyby się IFy:
Jak Wam się wydaje? Czy takie rozwiązanie będzie dobre? Ten post edytował GrumpyDogue 26.02.2015, 02:34:37 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 20:22 |