Korlátlan vendégkönyv html. Vendégkönyv szkript PHP-ben

» » GBook

Ez a PHP-szkript segít a vendégkönyv funkció megvalósításában a webhelyén. MySQL-adatbázis használata nélkül nincs rá szükség a szkript működéséhez. A Gbook szkript számos hatékony SPAM szűrőt tartalmaz. Valamint megvédi a leveleket a SPAM-ek ellen.

A szkript 2 txt fájlt tartalmaz – header.txt és footer.txt. Ezekkel a fájlokkal reklámblokkokat vagy pultokat adhat hozzá vendégkönyvéhez. A sablon teljes megváltoztatása webhelye stílusának megfelelően szintén nem lesz nehéz. A Gbook program a világ bármely nyelvére lefordítható. Csak változtassa meg a szavakat egy nyelven.

A forgatókönyv előnyei.

  • Emoticon támogatás.
  • Nem igényel MySQL adatbázist. Minden üzenet egy fájlban van tárolva.
  • Az adminisztrátor értesítése levélben a Vendégkönyvben új üzenetről.
  • 2 lépésből álló spam-ellenőrzést tartalmaz.
  • Az IP-címeket letilthatja, hogy ne hagyjanak üzenetet.
  • E-mail értesítést kap minden alkalommal, amikor valaki aláírja a vendégkönyvet.
  • Ellenőrző üzenet: a „tiltott” (nem cenzúrázott) szavak listája közzétételre. Letakar ****
  • Árvíz elleni funkció. Annak érdekében, hogy a felhasználók ne tegyenek olyan gyakran üzeneteket.
  • Privát üzenetek.

1. Az ingyenes tárhelynek csak annyi van, amit ad.
2. Jobb, de egyáltalán nem szükséges. Egy tisztességes vendég szükség szerint üzenetet hagy (az űrlapomon keresztül), és a hacker továbbra is megkerüli a $_GET, $_POST, $_COOKIE és $HTTP_REFERER értékeit.
3. A hosszszabályozást maga az adatbázis végzi, de csak implicit módon (az egyetlen dolog az, hogy maga az üzenet hatalmas lehet - akár 64 Kb).
4. Igen, van, HtmlSpecialChars használt, AddSlashes nem (és ez nagy hiba, elismerem a bűnömet, lásd lent). Ha a magic_quotes_gpc engedélyezve van, a probléma nem olyan súlyos, de a biztonsági rés megmarad (a vezérlőpulton).
5. Igen, egyetértek, ki lehetne vágni, de a név #$@%#$^%$ nem rosszabb, mint AF4ETX09T43. Az e-mailben és az url-ben lyuk van, használhatsz szkripteket.
6. Vajon mi az, ami nincs inicializálva?

Számos érdekes technika létezik, mint például a képen keresztüli automatikus bevitel elleni védelem (mint ezen az oldalon) http://www.site/webmast/php/Security-Images-in-PHP/
...

Úgy tűnik, nem voltak képek, minek bonyolítani a bemutatót. Eddig még nem láttam vendéget ilyen védettséggel. Ami ezt az oldalt illeti, ez nem vendégoldal.

Az XSS Cross-Site Scripting anatómiája
http://www.woweb.ru/index.htm/id/1073393942

Nagyon érdekes, köszönöm.

ZY Ha Aftor vette volna a fáradságot, hogy elolvassa (és elmélyedjen) az ugyanazon az oldalon található cikkeket, akkor rájött volna, milyen szakszerűtlen a munkája. Érdemes figyelembe venni a korábbi Szerzők tapasztalatait, és legalább tisztelni munkáikat – írták neked.

Hol van a tisztelet hiánya? Elnézést, ha valakit megbántottam.

Ami a védelmet illeti, azt tanácsolom, hogy olvassa el újra a cikk első bekezdését. Nem egy megbízható vendégjegyzet áttekintését tűztem ki célul, hanem csak azt, hogy megmutassam, hogyan tudsz írni; protozoák vendég, azoknak, akik most kezdik tanulni a CGI-t, mert nem minden jön egyszerre, valami egyszerűvel kell kezdeni, és te sem lettél egyből olyan okos, hibáztál is, szóval hagyjuk a biztonsági szempontokat más cikkekhez, más szerzőkhöz.

Igen, biztonsági szempontból ez a forgatókönyv nem professzionális, és nem vagyok szakember a biztonság területén, ezért van az első bekezdésben egy megfelelő felelősségkizárás, amelyet sajnos nem mindenki olvas el.

PS

Idézet:

törvény a szerzői jogokról és a kapcsolódó jogokról
6. cikk. A szerzői jog tárgya. Általános rendelkezések
1. A szerzői jog kiterjed az alkotó tevékenység eredményeként létrejött tudományos, irodalmi és művészeti alkotásokra, függetlenül attól céljait és előnyeit munkáról, valamint kifejezésének módjáról.
A többit itt olvashatja: http://www.febras.ru/~patent/copyright/2_3part2.html
Beleértve a 9. cikk (1) bekezdését
És nem rajtad múlik, hogy éljek-e a jogommal vagy sem.

» DRBVendégkönyv

Vendégkönyv A DRBGuestbook egy ingyenes, egyszerű PHP szkript, amely nem igényel MySql adatbázist. Ennek ellenére egy jelszóval védett adminisztrációs panelen keresztül kezelheti a programot, törölheti az üzeneteket, hagyhatja jóvá az üzeneteket, tilthatja le a felhasználókat IP cím alapján. A szkript tartalmaz spamellenes ellenőrzéseket is, például képellenőrzést, URL-blokkolást és a könyv összes üzenetének moderálását. Beállíthat egy funkciót, hogy minden alkalommal, amikor valaki üzenetet hagy, e-mailben értesítést kapjon.

A forgatókönyv előnyei.

  • Gyors és egyszerű telepítés.
  • Nem igényel MySQL adatbázist. Minden üzenet egy fájlban van tárolva.
  • Egyszerre több üzenetet is törölhet.
  • Anti-spam ellenőrzést tartalmaz.
  • Az IP-címeket letilthatja, hogy ne hagyjanak üzenetet.
  • Támogatja az üzenetmoderálást, így csak a jóváhagyott üzenetek kerülnek közzétételre.
  • E-mail értesítést kap minden alkalommal, amikor valaki aláírja a vendégkönyvet.
  • Ellenőrző üzenet: a közzétételre szánt „tiltott” (szitkozó) szavak listája.
  • Árvíz elleni funkció. Annak érdekében, hogy a felhasználók ne tegyenek olyan gyakran üzeneteket.
  • A szkript megakadályozza a HTML-kódok vagy hivatkozások (URL) közzétételét az üzenet törzsében, levélszemét-ellenes óvintézkedésként.
  • A minimális és maximális betűk beállítása egy üzenetben.
  • A szkript könnyen testreszabható: hibaüzenetek, figyelmeztetések, dátum és idő.
  • A dátum és az időzóna könnyen testreszabható.
  • A generált oldalak XHTML szintaxist tartalmaznak, és tökéletesen működnek IE és Firefox böngészőkkel.
  • Jelentkezzen be az adminisztrációs panelre a webes felületen keresztül.

Rendszerkövetelmények

  • PHP 4.4 vagy újabb verzió
  • GD könyvtár
  • Apache HTTP szerver .htaccess fájllal, Engedélyezett felülbírálás funkcióval (ajánlott)
  • Linux, Windows, Unix, Mac OSX, Sun Solaris, IIS

Ma leírom a PHP programozási nyelv kezdőinek talán legjobb feladatát - Vendégkönyvet. Véleményem szerint ez a feladat a legegyszerűbb, ugyanakkor lehetővé teszi a PHP-vel és a MySQL adatbázissal való munkavégzés főbb jellemzőinek megismerését. Ráadásul ez a feladat korlátlanul bővíthető, ami lehetővé teszi az új technológiák csiszolását.

A probléma leírása és megoldása itt lesz megírva, a funkcionalitás tesztelése nélkül, tehát lehet, hogy valahol elírás van. Erre nem a lustaságom miatt került sor, hanem az ön által készített vendégkönyv készítésénél végzett további képzés miatt. A bemutatott megoldás is kissé „ferde” lesz, de erről bővebben a cikk végén a „Önálló munka” részben.

Ha egyáltalán nem tudja, hogyan kell dolgozni a PHP-vel, akkor először azt tanácsolom, hogy olvassa el a PHP - hol kezdje el a cikket.

Elemezzük a legprimitívebb vendégkönyv létrejöttét, tervezés és adminisztráció nélkül. Vagyis a könyvbe való bejelentkezésre, regisztrációra és üzenetek hagyására szorítkozunk.
Magából a feladatból világossá válik, hogy ennek a feladatnak a megvalósításához teljesen korlátozhatjuk magunkat három PHP fájlra. A regisztrációs feladat természetesen két részre osztható: a regisztrációs űrlapra és az adatok felvételére az adatbázisba, de ezt nem tesszük meg. Hasonló érvelés érvényes az észrevételezési eljárásra is. Így három fájlt hozunk létre: index.php, register.php, book.php.

A fájlok neve alapján azonnal megértheti, hogy miért lesznek felelősek: index.php - bejelentkezési oldal, regisztráció.php - regisztrációs oldal, könyv.php - vendégkönyv oldala.

A legegyszerűbb esetünkben a bejelentkezési oldal. Mivel az oldal felelős a bejelentkezési név és a jelszó páros beviteléért, tartalmaznia kell egy űrlapot ezen adatok elküldéséhez a book.php oldalra. És egy link a regisztrációs oldalra. Nekünk van:

Bejelentkezés a vendégkönyvbe

Belépés:
Jelszó:

Bejegyzés


Kicsit eltérve a témától, azoknak, akik nem tudják, mit jelent a fenti kód. Itt van csupasz HTML. A kulcs a címke forma amely két paramétert vesz igénybe akció, amely az adatbevitel megerősítése után megnyíló oldal címéért és a paraméterért felelős módszer, amely arra ad választ, hogy az űrlap adatai hogyan lesznek elküldve a megadott oldalra (lásd a POST és GET egyszerű szavakkal). Az űrlapcímkén belül a beviteli mezők (input, select) vannak feltüntetve, amelyeknek rendelkezniük kell az attribútummal név. Ennek az attribútumnak az értékével lehet majd megszerezni a felhasználó által a műveleti űrlap paraméterében megadott oldalon megadott adatokat. Az űrlapon belül kell lennie egy bevitelnek a típussal Beküldés, ami lényegében egy gomb, rákattintásra adatok kerülnek az akcióoldalra.

Folytassuk... Most létre kell hoznunk egy új felhasználói regisztrációs oldalt. Érdemes azonnal elgondolkodni azon, hogy pontosan mit is szeretnénk. Úgy döntöttem, hogy egy egyszerű vendégkönyvhöz elegendő egyedi bejelentkezési névvel rendelkező felhasználók, valamint a webhelyük címének ismerete (ha van ilyen). Miután eldöntöttük, hogy mit szeretnénk tudni a felhasználóról, elkezdhetjük adatbázisunk tervezését.

Lépjen a phpMyAdmin oldalra. Ott hozzunk létre egy adatbázist gb néven. Ebben az adatbázisban létrehozunk egy Felhasználók táblát a következő mezőkkel:

Bejelentkezés varchar(50) egyedi //felhasználói bejelentkezés, egyedi mező jelszó varchar(150) //jelszó www varchar(255) //webhely címe

És mivel már beléptünk az adatbázis-szerkesztőbe, azonnal gondolkodhatunk azon, hogyan fogjuk tárolni az üzeneteket. A mi esetünkben elég jól tudni, hogy ki és mikor hagyta el az üzenetet, illetve az üzenetünk szövegét. Valamint a kényelem kedvéért érdemes megszámozni üzeneteinket. Így döntöttünk, ami azt jelenti, hogy nyugodtan létrehozhatunk egy másik Üzenetek táblát a következő szerkezettel:

Id int ai(auto_increment) elsődleges_kulcs //üzenet száma, számláló, amely maga is növeli a mes text //üzenet szövege who varchar(50) //az üzenetet elhagyó személy bejelentkezési ideje timestamp default(current) //a távozás ideje az üzenetet az alapértelmezett aktuális dátum és idő szerint

Az adatbázist rendeztük. Most térjünk át a register.php fájlra. Összegezve a fentieket:

Bejegyzés

Belépés:
Jelszó:
Ismét a jelszó:
WWW: http://


Főre

Egy kicsit a kódról. Mint már észrevetted, a PHP jelen van itt. Nem írom le tovább az űrlapot, de mint látjuk, itt az űrlap adatai ugyanarra az oldalra kerülnek, ahol ez az űrlap található. Más szóval, a register.php fájl adatokat küld magának. Senki sem tiltja ezt, de nem mindig lehet használni, mivel nagyban rontja a kód olvashatóságát. Másrészt azonban ez egyértelműen mutatja a PHP nyelv képességeit. Oldalunk lényegében két esetre oszlik. Az első eset az, amikor POST kéréssel küldenek adatokat az oldalra, a második eset az, amikor nem érkezik POST kérés az oldalra. A második esetben a regisztrációs űrlapot mutatjuk be, az első esetben pedig megkezdjük a beküldött adatok ellenőrzését. Amint láthatja, az adatokat asszociatív tömb formájában küldik el (azaz olyan tömbben, amelynek indexei karakterláncok). Ráadásul az indexek egybeesnek az adatbenyújtási űrlapon megadott beviteli mezők nevével. Azok. ha írunk

akkor ezeknek az adatoknak POST kéréssel történő elküldésekor egy változónk lesz

$_POST["vasa-peta"]

Azt is érdemes megjegyezni, hogy a bejelentkezés ismételt ellenőrzését nem végezzük. Ez az ellenőrzés adatbázis szinten történik, mivel a bejelentkezési mező egyediként van megjelölve.

Most az utolsó dolog. Már csak a vendégkönyv elkészítése van hátra. Egy kis vita. Mivel a vendégkönyv bejelentkezési névvel és jelszóval működik, első dolgunk, hogy ellenőrizzük a megadott bejelentkezési név és jelszó elérhetőségét az adatbázisban. Mivel úgy döntöttünk, hogy üzeneteket adunk hozzá a book.php fájlhoz, ezért nyilvánvalóan követnie kell az üzenet hozzáadásának folyamatát. Nos, a legvégén az összes üzenet megjelenítése. (ha a megjelenésük után üzenetet ad hozzá, a hozzáadott üzenet csak az oldal újratöltése után jelenik meg). Nekünk van:

Vendégkönyv "; ) else ( echo "Az üzeneted nem lett hozzáadva!


"; } } ?>
"name="login" /> "name="jelszó" />

"; echo "Szöveg: ".$row["mes"]."
"; ) ) mysql_close($link); ?>

Lényegében ennyi. Ha a kód 100%-ban működik, akkor jó. Ha nem, akkor azt tanácsolom, hogy próbálja meg saját maga kijavítani a hibákat. Most az ígért rész.

Önálló munkavégzés
Ahogy az elején említettük, ez a megoldás „ferde”. Ha még mindig nem érted, miért, akkor most elmagyarázom. Amint azt észrevehette a megjegyzés hozzáadására szolgáló űrlapon található book.php fájlban, számos rejtett mező található, ezek közül kettő a felhasználó által megadott felhasználónév és jelszó. Nem jó, igaz? Próbálja kijavítani ezt a hibát munkamenetek segítségével (Hogyan dolgozzunk a munkamenetekkel PHP-ben).
Próbáljon meg válaszolni arra a kérdésre, hogy miben különböznek a funkciók üres/issetÉs kilép/hal?
Módosítsa az üzenetek adatbázisból történő kiválasztására vonatkozó lekérdezést úgy, hogy az üzenetek megjelenítésekor az üzenet szerzőjének webhelye jelenjen meg.
Ha észrevette, a felhasználói jelszó az adatbázisban tiszta szövegben van tárolva, és ez nem túl jó. Módosítsa a kódot úgy, hogy a felhasználó jelszavának kivonatát (például MD5 vagy SHA1) tárolja az adatbázis.

Hello barátok! Ma az alkotásról fogunk beszélni Vendégkönyv dJoomla, amely lehetővé teszi a felhasználók számára, hogy kérdéseket, véleményeket és visszajelzéseket tegyenek közzé. Ehhez egy ingyenes, egyszerű, kényelmes és orosz interfész komponensre van szükségünk, amely támogatja a Joomla összes létező verzióját. Ez megfelel ezeknek a meghatározásoknak!

A vendégkönyv egy másik nagyszerű módja annak, hogy kapcsolatba léphessen webhelye felhasználóival. Hadd emlékeztesselek arra, hogy korábban már gondolkodtunk azon, hogy létrehozunk egy visszajelzési űrlapot és hozzáadjuk az oldalhoz.

A vendégoldal szerkezetében egy tartalom nélküli, de megjegyzésekkel ellátott oldalra hasonlít. Az egyetlen különbség a bejegyzések hozzáadásának sorrendjében van: az új megjegyzések a lista aljára kerülnek, míg a vendégkönyvben a legfrissebb bejegyzések, éppen ellenkezőleg, a tetején találhatók. Ezen kívül külön oldal van a vendégkönyv számára, míg a megjegyzések a tartalom kiegészítéseként különböző oldalakon helyezkednek el.

Bár miért is beszélek erről! Szerintem a legtöbben sokszor találkoztak már vele különböző oldalakon, mert ez a funkció nagyon népszerű. Elég a beszédből, kezdjük a gyakorlást.

A Phoca Vendégkönyv telepítése és oroszosítása

Mielőtt elkezdené a Phoca Vendégkönyv összetevő telepítését, le kell töltenie. Megyünk a fejlesztők hivatalos weboldalára, ahonnan két dolgot kell letöltenünk:

Telepítse az összetevőt és a nyelvi csomagját egyenként a segítségével. A Phoca Vendégkönyv telepítésekor a következő ablak jelenik meg:

Mivel a Phoca Guestbook komponenst telepítjük, és nem frissítjük, kattintsunk a „Telepítés” gombra. A telepítés automatikusan megtörténik, és annak befejezése után egy új alpont jelenik meg az „Összetevők” részben - „Phoca Vendégkönyv”. Oda megyünk.

Vendégkönyv készítése a Joomla 2.5-ben

A felületnek orosz nyelvűnek kell lennie, ami nagyban leegyszerűsíti a Phoca Vendégkönyvvel való munkát és a Joomla vendégkönyv létrehozását. Lépjen a „Vendégkönyvek” szakaszba, és kattintson a Létrehozás gombra az eszköztáron.

Csak annyit kell tennünk, hogy beírjuk a vendég nevét a cím mezőbe, majd az eszköztáron kattintsunk a „Mentés és bezárás” gombra.

Ilyen gyorsan elkészítettük a vendégkönyvet! Most meg kell jelenítenie a webhely oldalán.

A Joomla menüpontok felelősek az oldalak létrehozásáért, ezért létrehozunk egy új menüpontot „Phoca Vendégkönyv - Vendégkönyv” típussal. A szükséges paramétereknél válassza ki az újonnan létrehozott vendégszobát, majd kattintson a „Mentés és bezárás” gombra.

Vendégkönyv felállítása, levélszemét elleni védelem

Mielőtt a vendégkönyv fogadná az első felhasználókat, még konfigurálni kell, és meg kell védeni a spamektől. A Phoca Vendégkönyv összetevő vezérlőpultján használja a „Beállítások” gombot.

Minden opció teljesen orosz nyelvű, és olyan tippekkel van felszerelve, amelyek akkor jelennek meg, amikor az egérmutatót föléjük viszi, így nem lesz nehéz megérteni őket.

Az „Űrlap” fülön találhatók az üzenetírási űrlap beállításai: mely mezők jelennek meg benne, a rekordokhoz viszonyított pozíció, a szerkesztőablak mérete és néhány egyéb lehetőség.

Az „Alap” szakasz a következő lehetőségeket kínálja:

  1. Felhasználói ellenőrzés megjelenítése – ha az ellenőrzés ki van kapcsolva, a webhely vendégei a regisztrált Joomla-felhasználók nevét és e-mail címét használhatják üzenetek hagyására.
  2. Csak regisztrált felhasználók - a vendégkönyv csak regisztrált látogatók számára lesz elérhető;
  3. Ellenőrzési üzenet – a bejegyzés megjelenése előtt moderálni kell és jóvá kell hagynia a Joomla adminisztrátorának. A rekordokkal a Phoca Vendégkönyv komponens „üzenetek” szakaszán keresztül kell dolgoznia.
  4. E-mail küldése – a kiválasztott Joomla-felhasználó e-mail-címére e-mailt küldünk, amely értesíti őket, hogy új bejegyzés jelent meg.

A harmadik „Üzenetek” rész lehetővé teszi a Joomla vendégkönyv bejegyzéseinek testreszabását.

Valójában azt tanácsolom, hogy teljesen tiltsa le a captcha-t a Phoca Vendégkönyvből, és használja a kiváló bővítményt.

Az utolsó rész a „Jogok”. Hozzáférési jogokat állít be a felhasználói csoportok számára, bár békén is hagyhatja.

Így kitaláltuk a Phoca Vendégkönyv plugint. Köszönöm szépen a figyelmet! Vigyázz magadra!



Ossza meg