![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 13.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam nbaze danych zbudowaną tak:
i chciałbym aby po kliknięciu w link wyświetlał się artykuł. w kolumnie kod jest takie coś: a w kolumnie zapytanie
na stronie index:
jak to zrobić męczę się już 2 dni. Ten post edytował Cysiaczek 5.09.2010, 22:54:27
Powód edycji: [Cysiaczek]: ort w temcie, dodałem tagi
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Proszę dodać bbcode oraz nadać sensowny tytuł.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ty chyba jestes niepoważny z ta swoja baza danych, paranoja trzymac w bazie gotowe zapytania do konkretnych artykulow...
zrob to np tak
Ten post edytował wiiir 5.09.2010, 00:35:48 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 17 Dołączył: 4.09.2010 Skąd: far far away Ostrzeżenie: (0%) ![]() ![]() |
@wiiir:
1. A znajdziesz przy takim wywołaniu act w $_POST ? 2. Zakładasz, że będzie jeden art o tym id, ale nie zakładasz, że może go nie być w ogóle. 3. O odporności zapytania na sqlinjection już nie wspomnę. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
UP:
no przecież nie napisze mu całej wyszukiwarki artykułów ![]()
Ten post edytował CuteOne 5.09.2010, 01:10:02 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 17 Dołączył: 4.09.2010 Skąd: far far away Ostrzeżenie: (0%) ![]() ![]() |
Chodzi mi głównie o druga część kodu. Pod act można wrzucić cokolwiek.
Punkt 3 mojego postu: Cytat $id_act = $_GET['act']; // zamiast $_POST ![]() $results = mysql_query("SELECT * FROM mm_article where id = ".$id_art) or die(mysql_error()); A tu zabezpieczenie się w tym przypadku jest bajecznie proste przed np. "1; DROP TABLE mm_article; --", z resztą żeby nie męczyć się i nie próbować szukać tabel, można zastrzyk rozwinąć. Punkt 2 poprzedniego postu: Cytat $results = mysql_query("SELECT * FROM mm_article where id = ".$id_art) or die(mysql_error()); $row = mysql_fetch_array($results); echo $row['link_name']; Już nie pamiętam czy poleci warning czy fatal, ale w przypadku kiedy mysql_query nie zwróci nic z zapytania, brak rekordów, bo może się tak zdarzyć, że ktoś klepnie numerek jaki mu się podoba w adresie, to zaliczymy bardzo piękny error z php. A zabezpieczenie przed tym też jest bardzo proste. Wychodzę z założenia, że jak już się komuś pomaga/podpowiada/whatever powinno się to robić rzetelnie. Jeżeli ktoś się pyta o tak podstawową sprawę, to raczej nei czaji zagadnień z zakresu sql injection, może gdzieś o tym słyszał, ale raczej nie wie nic. A dostawienie dwóch if'ów to nie jest wielki wysiłek. Ten post edytował masiakla 5.09.2010, 01:25:28 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 13.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 728 Pomógł: 76 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Brak średnika ?
$results1 = mysql_query($query1) -------------------- gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet. Zarabianie bez wysiłku na domenach bez ruchu: prolink. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 13.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
I NADAL TO SAMO
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 471 Pomógł: 89 Dołączył: 29.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 13.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dodałem średnik tutaj i teraz mam takie coś:
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 17 Dołączył: 4.09.2010 Skąd: far far away Ostrzeżenie: (0%) ![]() ![]() |
Po za tym
Cytat(PHPManual) For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error. For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error. Więc coś w zapytaniu masz zwalone. Swoją droga popraw to wyświetlanie tak by nie było jaj jak nie ma artykułu o danym id:
Po za tym co to jest 105 i 106 linia, nie jestem w stanie tego odnieść. Ten post edytował masiakla 5.09.2010, 19:17:47 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
-> Przedszkole
-------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
@wiiir: 1. A znajdziesz przy takim wywołaniu act w $_POST ? 2. Zakładasz, że będzie jeden art o tym id, ale nie zakładasz, że może go nie być w ogóle. 3. O odporności zapytania na sqlinjection już nie wspomnę. ad 1. Byla 1 w nocy wiec bylem spiacy moze dlatego napisalem post a nie get bo to chyba oczywiste ze mialo byc get (sry za blad) ad 2. zalezenia dotyczyly tego jednego przypadku zeby pokazac mu na czym to ma polegac (wiem ze moze go nie byc albo moze byc stringiem itd) ad 3. chyba zartujesz ze napisze mu caly gotowy skrypt z filtracja danych. Napialem mu 5 linijek kodu zeby zrozumial jak moze to zrobic wiec nie bede pisal obslugi wszystkich mozliwych bledow A jesli ktos bezmyslnie wkleja podany kod do swojego skryptu no to gratulacje lol. Ten post edytował wiiir 5.09.2010, 23:06:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 10:21 |