![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym wykorzystać jedną z cech CMS do swojej strony - tworzenie i zarządzanie newsami. No i muszę się was popytać o parę rzeczy
![]() 1. Oczywiście newsy będą zapisane w bazie danych. Chciałbym się dowiedzieć, jaki typ pola będzie pasował do samej treści - czy będzie poprawnie zapisywał polskie znaki? 2. Do newsów dostęp może mieć TYLKO I WYŁĄCZNIE ADMIN. Czy sesje dobrze zabezpieczą stronę przed niepowołanym dostępem? 3. Do edytowania newsów przyda mi się dodatkowa strona. Czy zrobienie jej w ten sposób Jest w porządku? 4. Jak zrobić, aby news po 30 dniach od zamieszczenia nie był pokazywany na stronie, tylko w jakimś archiwum? 5. Tabela do newsów miałaby wyglądać tak: newsID | newsDATE | newsSUBJECT | newsCONTENT Czy przyda się jeszcze jakieś pole? Ten post edytował Asmox 26.01.2009, 12:33:25 -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
1. typ pola wystarczy TEXT
2. dobrze zrobione sesje tak 3. jest, jeśli na tej stronie będzie sprawdzanie uprawnień przed udostępnieniem newsa do zmian 4. pobierać newsy których data zamieszczenia + ilość dni po których news nie jest już newsem jest <= aktualna data 5. newsId | newsDate | newsSubject | newsContent | newsTags | newsAuthorId właściwie te podane przez Ciebie w zupełności wystarczą, możesz ew dodać pole newsDateExpire - w którym określisz date aktulaności dla każdego newsa oddzielnie, a wtedy punkt 4 zmieni się na pobieranie newsów, których newsDateExpire<=curdate() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
OK fajnie. No ale mam jeszcze troszkę pytań co do tych odpowiedzi
![]() 1. Zawsze trzeba podać długość pola. Niestety nie wiem za bardzo jaką pojemność ma duży test. Czy 5000 znaków wystarczy? 2. Co masz na myśli mówiąc dobrze zabezpieczone sesje? Wiem, że duże znaczenie mają sesje w ciasteczkach a nie w url, mimo tego że ciasteczka można bardzo łatwo pokazać. Ale coś jeszcze oprócz tego? I w jaki sposób określić, czy dane sesji są w URL czy w COOKIE? Nie wiem jak to ustawić. 3. No to bezpieczne sesje powinny to załatwić. 4. OK, ale jak zrobić to całe operowanie na dacie? Nigdy wcześniej tego nie robiłem. 5. Mam nadzieję, że nie będzie potrzebne author ID. W moich założeniach możliwość pisania newsów miała być przeznaczona tylko dla mnie. Ja robię tylko stronkę, nie żaden CMS. No jak ktoś będzie mi coś dopsiywał, to będzie trzeba sprawdzić kto to pisze i informacja o autorze się przyda. -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 5 Dołączył: 31.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
1. Po co ustalać maksymalną liczbę znaków w systemie niusów?
2. Nie napisał dobrze zabezpieczone tylko dobrze zrobione. 4. poszukaj, było |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
1. Po co ustalać maksymalną liczbę znaków w systemie niusów? 2. Nie napisał dobrze zabezpieczone tylko dobrze zrobione. 4. poszukaj, było 1. Sorka zapomniałem, że bez PHPMyAdmin nie trzeba ustalać maksymalnej liczby znaków 2. dobra dobra no to jak zrobić, żeby były dobrze zrobione te sesje? 4. [...] -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zaczne od końca :-p
5. Jeśli zrobisz sesje, a musisz, to możesz sobie do sesji zapisać id atkualnie zalogowanego użytkownika, i wstawiać je wpisując newsa do bazy 4. Opcja 1. Piszesz newsa, data dodania, to dzisiaj, teraz w formularzu tworzysz pole w które wpiszesz date ważności newsa, w tabeli masz pola dataWpisu | dataWaznosci. Pobierasz newsy WHERE dataWaznosci < curdate() Opcja 2. Piszesz newsa, tak standardowo, nie zapisujesz daty waznosci. Pozniej pobierajac, w skrypcie ustalasz sobie ta waznosc, np 2 tygodnie, wyliczasz czas teraz-2tyg, nawet w php: $data = strtotime('-2 weeks',date()); robisz zapytanie WHERE data>'".$data."' Polecam opcję 1, daje możliwość ustalenia daty ważności dla każdego newsa oddzielnie 3. Jak najbardziej 2. Temat sesji jest dość obszerny. Przede wszystkim nie przekazujesz identyfikatora sesji w adresie, do tego robisz podstawowe zabezpieczenia przed SessionHijackin, SessionFixation, było na forum wiele razy. Najlepiej jak obsługe sesji przeniesiesz na bazę danych. Jeśli to ma być tylko dla Ciebie, to może nawet wystarczy obsługa sesji wbudowana w php. -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
A jak mogę przenieść obsługę sesji do bazy danych?
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Szukaj pod hasłem 'własny mechanizm sesji'
na forum.php.pl wlasny-mechanizm-sesji-w-php/ php.webhelp.pl wlasny_mechanizm_sesji museum.webcity.pl A tu gratis o bezpieczeństwie sesji: http://www.beldzio.com/bezpieczenstwo-mechanizmu-sesji -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dobra to sobie daruję, bo to nie będzie nie wiadomo jak duża strona, a nie chce mi się pisać tyle kodu jak widziałem na przykładach. Zwykłe sesje powinny wystarczyć. Tylko zrobię te kilka zabezpieczeń przeciwko przychwytywaniom sesji i tak dalej.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 15:47 |