[Php] vlastní fórum

Diskuze na téma implementace, provozování, správy

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod dyžon 16. 5. 2017 09:29

zdravím,
potřeboval bych prosím poradit,
tvořím si vlastní forum a mám problém s ukládáním obsahu topicu
vytvořil jsem databázi a v ní:
table:
users -> registrovaní uživatelé
topics -> založeny témata

no a teď nevím, jak ukládat obsah těch topiců ... předpokládám, že tam bude možné vložit text, image, a citace.
i kdybych vytvářel pro každej topic novou table, což mi nepříjde moc rozumny, tak stejně nevím, jak bych to tam vkládal, abych z toho zase vytáhl všechny data ve správným pořadí.
napadá mě jen do nějakyho fieldu kládat strukturu co tam bylo postupně vkládáno, např: :
'text_id_1, text_id_2, image_id_1, text_id_3, image_id_2, image_id_3, citace_id_1, text_id_4'
a pak podle toho postupně vytahovat z tabulky potřebny data, ale věřím, že existuje určitě nějaky lepší řešení.

pomůžete mi s tím prosím někdo ??

-- 16. 5. 2017 10:22 --

teď mě ještě napadlo, že bych to mohl vytvářet už jako soubor html a novy příspěvky do něj přidávat.
takže pokud nemá někdo lepší nápad, tak asi vyřešeno ... ???
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod JirkaVejrazka 16. 5. 2017 11:32

Jestli to delas pro sebe a nepujde to na Internet, klidne pokracuj. Jestli ne, tak s tim prosim prestan a pouzij nejake hotove reseni. Jinak budes neustale resit problemy s bepecnosti.

Namatkou bys mel neco vedet o:
* XSS
* CSRF
* automatickem banovani uivatelu, abys zabranil robotum psat spam prispevky,
* atd atp.

Realne: ukladani HTML je spatny napad, protoze pak uz nikdy nezmenis design. V databazi potrebujes jeste tabulku pro prispevky do daneho topicu a pak nejaky sablonovaci system, ktery z textu a dat ulozenych v databazi udela nejakou finalni stranku. To by melo byt vicemene nezavisle na obsahu DB.

[flame] Pokud netrvas na PHP, muzes se jeste podivat na jazyky, ktere davaji trochu vetsi smysl a mysli na bepecnost. Viz treba Ruby nebo Python [/flame]
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod dyžon 16. 5. 2017 11:57

díky za odpověď,
na net to půjde, ale jen pro soukromou skupinu, nebudu tomu dělat ani seo, ani robots a další chujoviny pro vyhledávače.
register a login jsem dělal v php, takže bych radši pokračoval v něm, ale netrvám na tom a podívám se i na python.
banování asi taky nebude třeba, ale zásady bezpečnosti, ( ikdyž tam žádny citlivy data nebudou) by to chtělo.
V databazi potrebujes jeste tabulku pro prispevky do daneho topicu a pak nejaky sablonovaci system, ktery z textu a dat ulozenych v databazi udela nejakou finalni stranku.

takže to znamená, jak jsem psal,že pro každej topic musím vytvořit novou tabulku ?? a použít třeba ten system vkládání co jsem naznačil v otázce ??
pak bych mohl udělat jednu default.html, která by sloužila jako šablona a do ní nasázet ty údaje z tabulky a pak vykreslit ?
hotovy řešení už jsem si pár prošel, ale rád bych si vytvořil něco svýho, opravdu to nepotřebuju tak složity.
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod JirkaVejrazka 16. 5. 2017 12:15

Ne, budes mit tabulku se seznamem topicu a pak druhou tabulku, ve ktere budou jednotlive prispevky. V te druhe bude cislo topicu (z te prvni tabulky). Nastuduj si "cizi klic" neboli "foreign key".

V seznamu bezpecnostnich problemu jsem jeste zapomnel na SQL injection - jestli to budes takhle lepit, tak se na to podivej prednostne.

Chapu, ze to bude "pro soukromou skupinu", ale i tak ti preju hodne stesti. Budes opakovat bezpecnostni chyby, kterymi si ostatni prosli a opravili je. Nic proti vynalezani kola, ale zkouset znova trojuhelnik a ctverec neni uplne rozumne.
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod dyžon 16. 5. 2017 13:02

určitě máš pravdu a dám na tebe.
to svoje fórum si stejně udělám, protože jsem samouk a baví mě to, vždycky se naučím hodně nových věcí,
ale skrz bezpečnost na net použiju raději už nějaky to hotovy řešení, třeba phpBB, nebo tak něco ...

díky moc, mám co číst a dělat,
kdyby něco, tak se ještě ozvu ...
měj se ..
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod JirkaVejrazka 16. 5. 2017 13:15

Parada, tak to drzim palce!
JirkaVejrazka
Mírně pokročilý


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků