![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Strona wysyła getem id produktu na inną stronę.Query Stringiem w zależności od tego ID wczytuje z bazy zmienne(opisy)
tego produktu.Mam możliwość podejrzenia requestów w takiej bazie i wygląda tak: http://localhost:44301/MojaStrona.php?PrzedmiotID=3. Z czego 3 jest id produktu.Według niej wybieramy jest przedmiot z bazy i wczytywany na stronę. Mam jednak dylemat a co jeśli ktoś wpisze w przeglądarkę: http://localhost:44301/MojaStrona.php?PrzedmiotID=1. To wyskoczy mu inny przedmiot,albo co gorsza będzie mógł linkować przedmioty na swojej stronie. Jak to można by było rozwiązać ![]() Przed wysłaniem kodować 1,a na stronie gdzie jest query stringiem pobierana tą 1 dekodować ![]() ![]() Ten post edytował Rid 5.09.2011, 11:00:56 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Mam jednak dylemat a co jeśli ktoś wpisze w przeglądarkę: I w czym problem? Nie może on widzieć przedmiotu o id =1? Jak nie może, to znaczy, że chyba jakiś system praw masz? Więc tym systemem praw sprawdzaj czy dany user może widzieć przedmiot o id = 1 czy nie.
http://localhost:44301/MojaStrona.php?PrzedmiotID=1. To wyskoczy mu inny przedmiot -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Strona ogólnodostępna.Nie martwi mnie to,że komuś wyskoczy strona z przedmiotem.Martwi mnie ,że każdy będzie mógł taki link zakotwiczyć u siebie na stronie.Niech sobie Pan teraz wyobrazi,jak 5000 osób wrzuci taki link na swoją stronę,
niech 100 osób na każdej takiej stronie kliknie w link,to niech obliczy ile requestów będzie szło na mój serwer i jak obciąży to serwer i bazę danych. Nie wiem jak się przed takim czymś zabezpieczyć. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zazwyczaj ludzie się cieszą, że ktoś wrzuca ich linki na cudzą stronę.
Co innego gdy w iframe na cudzej stronie ktoś wrzuci Twoją stroną - wówczas o to można mieć pretensje. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kurcze ,o tym też nie pomyślałem,a jest jakiś sposób żeby bronić się przed takimi praktykami??
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) w js dość prosty sposób sprawdza się czy to iframe czy nie i się z niego wyskakuje.
wykop w iframe wklada wszystkie strony i niektóre portale z niego wyskakują 2) Sprawdzanie referera powinno pomóc. Ale referera nie ktore przeglądarki nie wysyłają -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Będę musiał pogrzebać trochę w google ,zobaczyć jakie są sposoby ochrony przed takimi praktykami.Jakby ktoś
miał jakieś pomysły to niech piszę,jestem otwarty na sugestie ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Chcesz blokować dostęp do czegoś co chcesz pokazać? A jaki jest tego sens skoro dostęp jest i tak dla wszystkich. Szukasz dziury w całym, a skoro zaczynasz z projektem to zapewniam Cie że tysiące osób nagle go nie powieli i nie wklei linka.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat A jaki jest tego sens skoro dostęp jest i tak dla wszystkich Taki ,żeby korzystali z mojej strony,nie ze stron podlinkowanych. Niech sobie Pan wyobrazi, siedział Pan dużo czasu nad zrobieniem czegoś,ktoś wrzuca Pana dzieło do iframki i dowolnie modernizuje u siebie Pana stronkę.Nie wiem ,czy się Pan bawił z iframami-ale za pomocą tego "pioruństwa",można dowolnie przekształcić źródłową strone ustawić tła,kolory,style czcionek i Bóg we jeszcze co.W rezultacie taki ktoś może przekształcić Pana dzieło,którego nawet Pan sam nie rozpozna i będzie czerpał korzyści Pana kosztem.Więc ja widzę w tym sens. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nadal uważam że nie zablokujesz czegoś co chcesz pokazać. Zablokujesz iframe? niby jak? przez JS żeby odpalało stronę 'od nowa'? Ok, zrób tak... Tylko że ja zamiast iframe użyję canvas i co wtedy? Nic z tym nie zrobisz. Dlatego im mocnej się starasz to "zabezpieczyć" tym więcej sposobów by to obejść.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam świadomość ,że na 100% się nie zabezpieczę,ale przynajmniej komuś utrudnię życie
![]() |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli wyłączy js to można jeszcze ustawić żeby domyślnie np html miał w css ustawiony hidden i dopiero js po sprawdzeniu czy dana strona jest w ramce nadaje w css tagowi html visible. Ale można jeszcze osadzić ramkę w ramce, wtedy skrypt wyskoczy z pierwszej ramki ale nadal pozostanie w drugiej. Ogólnie nie da się tego zabezpieczyć w 100% chociażby dlatego że nagłówki można sobie modyfikować jak się chce więc sprawdzanie referrera jest raczej bezsensu. Na większość ramek zadziała:
Kod <script> if (top.location != location) top.location=self.location; </script> Z bardziej upartymi sobie raczej nie poradzisz. Nie mniej, wyświetlaj jakieś tam reklamy na stronie, więc nawet jeżeli wzrośnie ci oglądalność, co obciąży twój serwer, to zawsze też zarobisz na ten serwer. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Przeczytałem ,że także prawidłowa konfiguracja htaccess rozwiązuje częsciowo ten problem,niestety ja mam iis więc musze się pobawić isapifilter ,hmm,na razie jestem w trakcie zbierania materiałów -mistrzem od zabezpieczeń nie jestem,tak więc dodatkowe sugestie będą nagradzane.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Taki ,żeby korzystali z mojej strony,nie ze stron podlinkowanych. Niech sobie Pan wyobrazi, siedział Pan dużo czasu nad zrobieniem czegoś,ktoś wrzuca Pana dzieło do iframki i dowolnie modernizuje u siebie Pana stronkę.Nie wiem ,czy się Pan bawił z iframami-ale za pomocą tego "pioruństwa",można dowolnie przekształcić źródłową strone ustawić tła,kolory,style czcionek i Bóg we jeszcze co.W rezultacie taki ktoś może przekształcić Pana dzieło,którego nawet Pan sam nie rozpozna i będzie czerpał korzyści Pana kosztem.Więc ja widzę w tym sens. Nie do końca można. http://en.wikipedia.org/wiki/Same_origin_policy -------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jeżeli wyłączy js to można jeszcze ustawić żeby domyślnie np html miał w css ustawiony hidden i dopiero js po sprawdzeniu czy dana strona jest w ramce nadaje w css tagowi html visible czyli spowolnisz wyświetlanie strony tylko dla marnej idei? ![]() Mam świadomość ,że na 100% się nie zabezpieczę,ale przynajmniej komuś utrudnię życie ![]() Ale niby w jaki sposób chcesz komuś utrudnić życie skoro to są podstawy? Blokujesz iframe, fajnie ale dziś mało kto ich używa, a skoro bawisz się w pseudo bezpieczeństwo to prędzej ktoś pobierze źródło strony razem z plikiem css i przez ajax wyświetli to do swojego diva. Twoje myślenie przypomina blokowanie pobierana obrazków z 'blogaska' w latach 90. Co z tego że "zablokujesz", skoro jest print screen. Ten post edytował !*! 6.09.2011, 07:20:18 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Flashdev,dziękuje, dzięki temu artykułowi doszedłem do takiego ustawienia headera:
Access-Control-Allow-Origin może to także pomoże:),dodatkowa w razie "w" rzucę na każdą stronę skrypcik, jak wszystko porobię podepnę ISAPIfilter, w c# jeszcze istnieje takie coś jak"request authenification",pobawię się jeszcze z tym i myślę że wystarczy. Dziękuję wszystkim za wypowiedzi. Ten post edytował Rid 6.09.2011, 12:10:13 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Access-Control-Allow-Origin Właśnie tego się używa w ajax do odbierania odpowiedzi z innego serwera ![]() A w ogóle to nikt nie poruszył kwestii... logów. Jak wybadasz że z jakiejś domeny generuje Ci za duży ruch, wtedy... wiesz co z nią zrobić. Ten post edytował !*! 6.09.2011, 12:16:18 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ok zabezpieczyłem to skrypcikiem,oraz podnosząc status zabezpieczenia na wyższy.
Mam jednak pytanie,czy nie lepiej by było w tym linku: http://localhost:44301/MojaStrona.php?PrzedmiotID=1. Zaszyfrować cały parametr z wartością -PrzedmiotID=1.Mówię zaszyfrować,gdyż nie trzeba by było,zaszyfrowanej wartości zapisywać do bazy.W przypadku hashowania musiałbym przy każdym requeście zapisywać zakodowaną wartość do bazy a potem porównywać.Chyba to by obciązyło znacząco samą bazę. Czy szyfrowanie w tym przypadku ma sens?? Ten post edytował Rid 7.09.2011, 12:53:29 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Przecież to nie ma sensu.
Załóżmy że zaszyfrowałeś i masz taki link: http://localhost:44301/MojaStrona.php?Prze...ablaszyfrowanie I taki link masz na swojej stronie. No to jak ktoś będzie chciał ten link wstawić na swoją stronę to wstawi. Nie musi znać co zawiera wartość zaszyfrowana. Jemu wystarczy tylko link -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Z tą różnicą ,że nie będzie wiedział czego dotyczą parametry i jakie przyjmują wartości.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:30 |