[PHP] Aktualizacja setCookies i wybór kwarendy SQL na podstawie wartości COOKIES


(yta2) #1

Uzsadnione podejrzenie wykorzystania źródłowego kodu do ataku. Stąd usuwam.
I tak nikt tu nie chce pomóc. to bez sensu.


(Fizyda) #2

Jest takie fajne powiedzie, nie win gry lecz gracza.

PHP to syf, ale z innych powodów niż Ty uważasz. Gdyby tak było to nic by w tym języku nie powstało. Problemem jest cała masa błędów na Twojej stronie. Robienie paginacji przez formularz to nawet w latach 90 nikt na to nie wpadł, pisałem Ci już, że to jest błędem.

Cookie Ci się nie ustawia bo jedyną poprawną ścieżką wykonania dla tego skryptu jest ta w której ustawiasz mu wartość 2. W przypadku innych wartości w skrypcie ladnanazwa.php masz błędy które Ci się nie wyświetlają bo od razu następuje przekierowanie. Sam sobie utrudniłeś życie zaciemniając kod i komplikując maksymalnie działanie strony.
Używasz rzeczy których do końca nie rozumiesz i nie wiesz do czego należy ich użyć. Przez co używasz ich do rozwiązywania problemów do, których nie zostały zaprojektowane. To powoduje masę problemów i komplikuje działanie całej strony.

Jak mam być szczery jeszcze nigdy w życiu nie widziałem tak skomplikowanie napisanej strony. Zważywszy na to jak mało jest tam kodu to gdyby mi ktoś powiedział o takim przypadku to bym mu nigdy nie uwierzył, że to jest w ogóle możliwe. W latach 90 gdzie powstawały niesamowite potworki strony były dużo lepsze.


(yta2) #3

ale nie da się ustawić wartości cookies w tym samym dokumencie (tzn w index.php) nie mogę jej zmieniać i odczytywać bo tak też nie chce działać… więc jak to zrobić?


(Fizyda) #4

Cookies możesz ustawić tylko w nagłówkach http, czyli zanim wyślesz ciało odpowiedzi do klienta więc możliwe, że to jest problemem. Ogólnie to jest to zgadywanie bo nie wiem co masz w pliku index.php


(yta2) #5

To jak mam wysłać aktualizację wartości COOKIE nim dojdzie do takiej potrzeby? to nie mozliwe.

na priva ci dam cały index.


(Fizyda) #6

To jest możliwe przy dobrze napisanym kodzie. Gdyby tak nie było, nie działałby ani facebook ani google, ani to forum.
Prościej ujmując bo pewnie nie wiesz o co mi chodziło, cookies ustawiasz zanim wyplujesz jakikolwiek kod html lub cokolwiek przy pomocy echo.


(yta2) #7

Wiem o co ci chodziło, ale dalej nie wiem jakbym miał to zrobić

Bo ja chce wysłać aktualizację SETCOKIES właśnie przez formularz…
innego rozwiązania nie wiedzę

ps:
sprawdź wiadomośc prywatną, z kodem index na ideone


(Fizyda) #8

Cookies w index raczej na pewno działa poprawnie i nie wiem czemu uważasz inaczej.

Jak będziesz chciał to i samochodem polecisz w kosmos, tylko, że to jest bezsensu i do tego jest dużo trudniejsze niż polecieć rakietą kosmiczną.

Zapomniałem Ci wcześniej napisać, że w obecnej formie KAŻDY użytkownik internetu może sobie z Twoją bazą danych zrobić co będzie chciał, czyli skasować wszystkie dane, dodawać wpisy, edytować i je usuwać.


(yta2) #9

W dowolnym miejscu w INDEX nie mogę aktualizować setCookies… i trzymać tego ustawienia.

Baza jest przecież zabezpieczona przed złymi ludźmi o nikczemnych zamiarach … ? a jak coś widzisz, to napisz na PM gdzie jest dokładnie niedoskonałość zabezpieczenia.

Napisz jak najprościej mam zrobić zamierzony efekt …?
Czyli jak zmienię sposób wyświetlania menu to zapiszę sobie informacje o sposobie wyświetlania menu w COOKIES. I jak zmienię ten sposób to się z aktualizuje… i będzie działał.
Obecnie mi menu się zmieniało po odświeżeniu strony. Nie było pamiętane ustawienie.

A innego sposobu jak zapisywać dla każdego gościa (pewnie po IP bo jak inaczej) jego zmiany do Bazy i to czytywać nie widzę. A chyba nie będę miał wyjścia , skoro przez COOKIES się nie da.


(Fizyda) #10

Ja się zastanawiam czy mój serwer jest wystarczająco zabezpieczony gdzie do logowanie odbywa się tylko przy pomocy kluczy ssh, dodatkowo tylko jeden serwer ma możliwość logowania z zewnątrz. Do tego jest jeszcze fail2ban, portsentry i LDF monitorujący i wysyłający maile o wszelkich zmianach w plikach i logowaniach do systemu.

Odpowiedź jest prosta, wszędzie. Cała strona to jest jedna wielka furtka dostępu do bazy danych.

Najprościej to zrobić POPRAWNIE paginację i nawigację po stronie. Niestety nie mam kilku godzin czasu, ani chęci na napisanie Ci poradnika jak to wykonać krok po kroku.


(yta2) #11

to nie wiem po co piszesz … nawet nie sprecyzujesz konkretnie jednego sposobu ataku …
żadnego konkretu też nie napisałeś.


(Fizyda) #12

SQL Injection

Nie napisałem bo publiczne wskazywanie błędów nie jest profesjonalne, ale skoro sam chciałeś to masz.


(yta2) #13

ale gdzie go chcesz wstrzyknąć
jedne pole gdzie coś można wpisać jest zabezpieczone przed pisaniem dziwnych rzeczy
do GET też nie puścisz nie wiadomo czego bo nie obsłuży żądania


(Fizyda) #14

W takim razie muszę iść przeczytać jakąś książkę bo widocznie nic nie umiem :frowning:.


(Thadrion) #15

zacznijmy od tego, że ten kod jest fatalnie napisany, pomieszany i nieczytelny. Wygląda jak zlepka tutoriali z 2005r, które już wtedy wyglądały fatalnie.

Mieszasz logikę programu (php + html), nie rozumiesz sposobu “wędrówki danych” podczas wykonywania się Twojego kodu. Fizyda dobrze Ci napisał, że jedyną poprawną ścieżką jest przypisanie mu wartości 2. Dlatego nie działa.

Nie wiem czy się dopiero uczysz, czy wróciłeś po latach, ale Twój kod wygląda jakby żywcem wyciągnięto go z jakiegoś hinduskiego bloga z przed 12-15 lat.

Nie chcę Cię zniechęcać, wręcz przeciwnie, chciałbym abyś usiadł, poszukał kursów/tutoriali do AKTUALNYCH wersji PHP oraz zainteresował się tym jak działa architektura klient-serwer oraz gdy już zaczniesz tworzyć coś w miarę aktualnego chciałbym abyś zapoznał się ze standardami PSR* (na początek wystarczą 1 oraz 2, później 4). Mimo wszystko najważniejsze - SKUP SIĘ NA TYM CO AKTUALNE, odrzuć blogi i poradniki pisane przeszło 7-8 lat temu.

Tutaj jest wszystko co Ci potrzeba: https://www.phptherightway.com/

*https://www.php-fig.org/psr/

Powodzenia! Następnie wróć i napisz jeszcze raz, że coś jest “gównem”, tylko wtedy wykaż, że rozumiesz co robisz :slight_smile: