![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 7.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Chciałbym sie zapytać jak można stworzyć takie linki: index.php?funkcja=50. Mam w bazie mysql kilka kategorii, np. kategorie filmów, czy rok produkcji. Jak wyświetlić właśnie za pomocą takiego linku horror (index.php?gatunki=horror), czy np i horror i film z roku 2000 (index.php?gatunki=horror&rok=2000). Czy można "podpiąć" do tego jakąś funkcje i np wartość którą funkcja będzie modyfikować (ndex.php?funkcja=50)? Bardzo dziękuje za wszelką pomoc. Ten post edytował CconradD 22.04.2008, 14:25:24 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam Chciałbym sie zapytać jak można stworzyć takie linki: index.php?funkcja=50. Mam w bazie mysql kilka kategorii, np. kategorie filmów, czy rok produkcji. Jak wyświetlić właśnie za pomocą takiego linku horror (index.php?gatunki=horror), czy np i horror i film z roku 2000 (index.php?gatunki=horror&rok=2000). Czy można "podpiąć" do tego jakąś funkcje i np wartość którą funkcja będzie modyfikować (ndex.php?funkcja=50)? Bardzo dziękuje za wszelką pomoc. w adresie takie rzeczy sie przekazuje za pomoca $_GET, przykład: index.php
jezeli np. teraz wywolasz stronw w ten sposob index.php?wyraz=ciasteczko to na stronie pojawi ci sie "ciasteczko" |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 7.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie. Mam jeszcze pytanie, jak stworzyć z nazw w bazie takie linki. Czyli np mam 'ciasteczko', 'tort', 'ciasto' i w jaki sposób to zrobić.
|
|
|
![]()
Post
#4
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
O coś takiego Ci chodzi? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 7.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki webdicepl ale nie chodzi mi o samo ich wyświetlenie. Chodzi mi o taka sytuacje: mam w MySQLu 3 filmy gatunku horror, 4 dramat. Chciałbym żeby po wpisaniu index.php?gatunek=horror wyświetlało mi tylko filmy gatunku horror. Przy czym żeby sam umaił wczytać jakie są gatunki (żeby nie definiować je ręcznie).
|
|
|
![]()
Post
#6
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Pokaż strukturę tabel z bazy danych.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 7.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 463 Pomógł: 49 Dołączył: 27.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Link będzie wyglądał mniej więcej tak: Kod index.php?kategoria=horror Oczywiście umieszczenie _GET w zapytaniu jest dość ryzykowne, ale to już odsyłam Cię do tematu o bezpieczeństwie skryptów. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 7.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
No działa super (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Właśnie o takie coś mi chodziło. Dzięki wam za pomoc. Jeszcze poczytam o bezpieczeństwie, w razie problemów to będę sie pytał.
Z tego co zrozumiałem, to żeby zapobiedz dostaniu się obcego kodu, to należy walidować zmienne (uściślać jak mają wyglądać). Czy np jeżeli w zmiennej będą cyfry, to sprawdzić czy w zmiennej są cyfry. Ale w zmiennej DESCRIPTION jest tekst, to prócz zamiany cudzysłowów, to inaczej nie mogę tego walidować. Czy dobrze to zrozumiałem? Czy też jest jakiś inny sposób na zabezpieczenia się przed _GET. Ten post edytował CconradD 22.04.2008, 18:53:11 |
|
|
![]()
Post
#11
|
|
Grupa: Przyjaciele php.pl Postów: 463 Pomógł: 49 Dołączył: 27.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Istnieje bardzo wiele możliwości zabezpieczenia.
wiesz ze to na pewno będzie sam tekst wiec możesz dac wyrażenie regularne które bedzie przepuszczać sam tekst nic więcej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 7.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Teraz jeszcze trochę poczytałem, a taka forma zabezpieczenia (zamiast walidacji):
Sorry, że tak zarzucam pytaniami ale pierwszy raz pisze skrypt w którym mi dość zależy na bezpieczeństwie. Ten post edytował CconradD 22.04.2008, 20:03:15 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Teraz jeszcze trochę poczytałem, a taka forma zabezpieczenia (zamiast walidacji):
Sorry, że tak zarzucam pytaniami ale pierwszy raz pisze skrypt w którym mi dość zależy na bezpieczeństwie. zabezpieczenie dobre, ale zamiast:
proponuje dac:
niepotrzebne cudzyslowy i stripslashes dla upiekszenia (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) </br > Ten post edytował pyro 22.04.2008, 20:33:34 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
I ogolnie jesli to user podaje dane ktore sie potem zapisuja do bazy to daj tez htmlspecialchars() przy zapisywaniu lub wyswietlaniu bo jak nie to bedzie ladny XSS chyba ze sam dodajesz do bazy to jeszcze ujdzie ale lepiej zawsze dac (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 7.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wam wielkie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) biorę sie za pisanie
Jeszcze jedno pytanie do walidacji. Czy tak zbudowana funkcja (w formularzu ma wybrać plik o rozszerzeniu .xml) jest bezpieczna i poprawna?
Ten post edytował CconradD 23.04.2008, 22:17:42 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Nie uzywaj starych tablic po co uzywaj tylko $_POST/$_GET potem nie wiem czy preg_match masz dobry bo nie znam wyrazen regularnych ale lepiej rozbij nazwe pliku za pomoca explode() lub klasa @Nospor'a i sprawdzaj jakie ma rozszerzenie chyba ze plik uploadujesz czy co tam robisz za pomoca input'a
P.S o gory nie widze zadnej deklaracji funkcji wiec return jest tam chyba zbedne jak cos to daj exit; albo die(); chyba ze to tylko kawalek kodu Ten post edytował marcio 23.04.2008, 22:08:27 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 7.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
To jest fragment (część z return jest w funkcji). Co do starych tablic to nawet nie wiedziałem że lepiej jest używać $_POST. Preg_match działa więc chyba jest poprawny. Do wczytania nazwy pliku używam inputa. Ale jak oceniasz bezpieczeństwo?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 21:52 |