Inżynieria Programu - Jak Zapewnić Guestowi Możliwość Temporary Edit Jego Wpisy

0

Witam szanownych Państwa. Sprawa jest prosta. Mam stronę i to jest coś jak czat. Każdy tam może coś napisać. Ja to mogę wywalić lub edytować ale chciałbym zrobić tak, że dany User - Guest chociaż przez jakiś czas mógł edytować swój wpis. I teraz pytanie do Sowy Mądrej Głowy. Czy mam to zrobić ciasteczkami i zmiennymi sesyjnymi czy może tym i tym. Czy ma ktoś jakieś doświadczenie na tym polu? Czy ktoś coś może polecić? "Praktyka cenniejsza od złota, chyba że nie masz na bułkę." Pozdrawiam najcieplej i najserdeczniej. Początkujący programista PHP i MySQL.

Kuba

Ps. Jutro będę to impleplementował, więc przdałby się jakieś rady i porady Szanownych Państwa. No chyba, że dziś w nocy... Leci jakiś fajny film? A kurcze... i tak nie mam telewizora. Hehe. Ten gość co wymyślił C też nie miał telewizora. Miał dwa monitory.

1

Rozumiem że ten czat jest anonimowy, bez kont?
Ciasteczka bez problemu można oszukać więc nie najlepsze rozwiązanie.
Po prostu daj po stronie PHP jakieś if które sprawdza czy IP się zgadza i czy minęło X czas od dodania wpisu.

0
piotrpog napisał(a):

Rozumiem że ten czat jest anonimowy, bez kont?

Tak. Jaknajbardziej chodzi o anonimowy czat. Chodzi również o to, żeby dany user mógł sobie edytować wpisy, ale tylko swoje i niczyje inne.

Ciasteczka bez problemu można oszukać więc nie najlepsze rozwiązanie.

Jak się oszukuje ciasteczka i po co to robić? Przecież jak nie ma jakiegoś ciasteczka to jak można je zrobić skoro nie zna się kodu dzięki któremu można będzie edytować określone wpisy w czacie?

Po prostu daj po stronie PHP jakieś if które sprawdza czy IP się zgadza i czy minęło X czas od dodania wpisu.

To mnie bardzo ciekawi. Jeszcze nie eksperymentowałem z $_SERVER['REMOTE_ADDR'] ???

A póki co to jest coś co wymyśliłem. Moim zdaniem... bardzo ładne:

<?
session_start();

// check if session is set
echo 'Session: '.$_SESSION["Guest_Cookie_User"].'<br>';

// check if coockie is set
echo 'Cookie :'.$_COOKIE["Guest_Cookie_User"].'<br><br>';


// jeśli zmienna sesji jest jeszcze pusta (stosowac tutaj empty czy isset ?)
if(empty($_SESSION["Guest_Cookie_User"]) AND empty($_COOKIE["Guest_Cookie_User"])) {
    
    // jednokrotne nadanie ZMIENNEJ SESJI będącej hasłem
    $_SESSION["Guest_Cookie_User"] = $Guest_Cookie_User = bin2hex(openssl_random_pseudo_bytes(4));
    
    // ustanawiamy ZMIENNĄ COOKIE z nazwą losową
    setcookie( "Guest_Cookie_User", $Guest_Cookie_User, strtotime( '+266 years' ) );

    // następnie do każdego wpisu będziemy dodawać identyfikator cookie do późniejszego porównania

}

// session is set
echo 'Session: '.$_SESSION["Guest_Cookie_User"].'<br>';

// coockie is set
echo 'Cookie :'.$_COOKIE["Guest_Cookie_User"];

session_destroy();

// przy pierwszej iteracji jest tylko zmienna SESSION natomiast przy kolejnych 
// dopóki istnieje jest tylko zmienna COOKIE
?>

1

Mówiąc o oszukiwaniu ciasteczek mam na myśli ręczne edytowanie swoich cookies aby coś ociągnąć. Są np. jakieś serwisy gdzie ożesz za darmo obejrzeć trzy filmiki - więc zmieniając cookie z liczbą obejrzanych filmików, możesz "oszukać".

Co do twojego kodu skoro przechowujesz w session to nie musisz trzymać nic w cookie. Znalazłem takie coś do generowania unikatowego ID dla sesji (po wpisaniu session unique id w google):

$_SESSION['someid’]=uniqid();

0
$_SESSION['someid’]=uniqid();

I co? Ta funkcja normalnie działą w php? A od którego?

A jeśli chodzi o ciasteczka... to zazwyczaj niosą jakąś informację bardziej somplikowaną niż "ilość oglądanych filmów" albo stan twojego konta. LOL. No ale takie detale wychodzą w praniu...

Tytuł

Słyszeliście kiedyś o tym, żeby ktoś ukradł komuś ciasteczko w celu niecnego jego wykorzystania?

1

Nie musisz się wszystkiego pytać tutaj - wystarczy że wpiszesz uniqueid w google - i prosze link do dokumentacji tej funkcji php.

0
piotrpog napisał(a):

Nie musisz się wszystkiego pytać tutaj - wystarczy że wpiszesz uniqueid w google - i prosze link do dokumentacji tej funkcji php.

Hehe. Szkoda, że nie napisałeś: "zamiast pisać na tym forum cokolwiek, nie trać czasu tylko powertuj mauale". Haha. Najbardziej podobał mi się wczorajszy temat: "Szukam gotowego skryptu na sklep internetowy". Miałem dopisać. "A może frytki do tego". Waham się żeby zrobić taki wpis: "Szukam Gotowego Autorskiego Bloga z Radiem internetowym i możliwością edycji postów przez guestów bo weryfikacji cookies ustawionych na rok, do tego proszę, firmę zbiurem na 5 piętrze w nowym wierzowcu, merca, żonę, dwójkę dzieci (ostatecznie mogą być dziewczynki, chociaŻ afrykańskie przysłowie mówi "mieć córkę to nieszczęście") co jeszcze... w pakiecie proszę wakacje na Ibizie. Może być jakaś konferencja MySQL dla 5 osób. Hmm... no i dom z zasadzonym już drzewem, żebym się nie musiał narobić. :-D

Przepraszam ale jestem programistą komikiem i mam nadzieje że kogoś udało mi się rozśmieszyć! ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1