login  Naam:   Wachtwoord: 
Registreer je!
 Forum

CMS Ontwikkeling

Offline ArieMedia - 02/09/2009 12:04 (laatste wijziging 02/09/2009 12:13)
Avatar van ArieMediaGouden medaille

PHP ver gevorderde
Ik heb al 3x eerder de neiging gehad om de vraag te posten hier, en toch steeds niet gedaan... Maar nu ik het me nogsteeds afvraag.. Ach waarom niet?

Wat vinden jullie wat een CMS moet kunnen en bevatten..
Beheer / modules / plugins ?
Dit kan natuurlijk veel verder gaan, denk hierbij aan "Hoe een module word verwerkt", hoe de links worden (.htaccess), datastructuur, mogelijkheid tot lite functie?


Als je een CMS kiest wat kies je eerder?
A) 1 waar je zelf modules op kan ontwikkelen (Open)
B) 1 waar modules al geherinstalleerd staan, en je zelf niks kan toevoegen

Moet de CMS een setup bevatten, of is een documentatie over het opzetten voldoende?


Wat doe jij qua licentie als je een CMS hebt, opensource (GNU-licentie) of voor je klanten houden (hier ben ik zelf namelijk nog niet uit)

Eventueel extra informatie wat je kwijt wil over een CMS kan je ook gewoon kwijt. xD


---
Mijn CMS
---
is deze interface gebruikersvriendelijk?
Link -> Image

---
De informatie zal gebruikt worden bij het verder ontwikkelen van mijn eigen CMS (ArieCMS)
---

19 antwoorden

Gesponsorde links
Offline Mythix - 02/09/2009 15:51
Avatar van Mythix Nieuw lid Waarom bekijk je het niet van een andere kant? Er bestaan al massas CMSystemen, die waarschijnlijk beter in elkaar zullen zitten dan wat je zelf in je eentje op een half jaar tijd in elkaar steekt...
Dan denk ik enkel nog maar aan security leaks en dergelijke...

Waarom niet gewoon contributen aan een bestaande CMS zoals drupal?
Offline Appie_Dijk - 02/09/2009 15:54
Avatar van Appie_Dijk Lid zelf een cms maken (met behulp van bestaande onderdelen).

1. je kunt hem maken zoals je zelf wilt
2. makkelijker te onderhouden aangezien je de code zelf hebt geschreven
3. je kunt elke denkbare module integreren

ik heb zelf ook één gemaakt, daarin heb ik o.a. wel TinyMCE verwerkt en gekoppeld aan een database.
Offline ArieMedia - 02/09/2009 16:00
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Mythix schreef:
Waarom bekijk je het niet van een andere kant? Er bestaan al massas CMSystemen, die waarschijnlijk beter in elkaar zullen zitten dan wat je zelf in je eentje op een half jaar tijd in elkaar steekt...
Dan denk ik enkel nog maar aan security leaks en dergelijke...

Waarom niet gewoon contributen aan een bestaande CMS zoals drupal?
Omdat ik mijn eigen website wil beheren op de manier dat ik dat wil, en omdat ik het kan. Daarom maak ik mijn eigen CMS  . Verder vind ik andere CMSsen altijd wel iets wat niet kan. Daarbij komt dat veel CMSsen alleen pagina-systemen zijn.
Offline Mythix - 02/09/2009 16:01
Avatar van Mythix Nieuw lid zonder database geen CMS denk ik...

en in bestaande CMSen zoals Drupal, Joomla, .... kan je ook alle denkbare module's bijschrijven...

en ik kan me niet bedenken dat je zo even een bugfree, secure, CMS hebt geschreven met OA deftig user management (groups en ACL tot op module niveau), ....

de community van zulke grote CMSen is zo groot dat alle bugs en security leaks veel sneller ontdekt worden, als je een CMS op je eentje gebruikt zullen die er veel langer in blijven...
Offline Appie_Dijk - 02/09/2009 16:05
Avatar van Appie_Dijk Lid
Mythix schreef:
de community van zulke grote CMSen is zo groot dat alle bugs en security leaks veel sneller ontdekt worden, als je een CMS op je eentje gebruikt zullen die er veel langer in blijven...


Misschien juist daarom een eigen CMS.
Bij de grote CMS-systemen zijn er eerder problemen (bekend), deze problemen worden dan misbruikt... waarom zou iemand proberen een kleine CMS te misbruiken?
Offline Mythix - 02/09/2009 16:11
Avatar van Mythix Nieuw lid waarom proberen mensen een CMS te misbruiken tout cour... zo zijn sommige mensen nu eenmaal, dat is ook naast de questie, je gaat toch niet expres een onveilig cms maken?
Offline Raze - 02/09/2009 18:17
Avatar van Raze PHP beginner ik zou persoonlijk me eerder verdiepen in joomla of drupal dan zelf te beginnen aan een CMS.

Mensen misbruiken soms beveiligingslekken in de grote (bekende) CM-systemen, maar dat is wel een grote minderheid, ik ben er zeker van dat de grootste groep internetgebruikers zelfs nog nooit heeft gehoord van joomla, laat staan drupal (dat volgens mij minder bekend is dan joomla).

Maar om terug tot de kwestie te komen:
ik zou het gewoon niet doen, ik zou kiezen voor een bestaand CMS en dat zelf gaan uitbreiden. Als je er zelf een wil maken moet je véél tijd hebben om een fatsoenlijk CMS in elkaar te kunnen steken, en dan nog: met meerdere personen zie je meer dan alleen, ik denk niet dat er één succesvol CMS is dat door één persoon gemaakt is (correct me if i'm wrong ).

Wil je toch écht eentje zelf maken:
zorg ervoor dat je steeds uitbreidingen kan toevoegen, dat je code goed gedocumenteerd is én dat het gewoon veilig is. 
Offline ArieMedia - 02/09/2009 19:49
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Raze schreef:
ik zou persoonlijk me eerder verdiepen in joomla of drupal dan zelf te beginnen aan een CMS.

Mensen misbruiken soms beveiligingslekken in de grote (bekende) CM-systemen, maar dat is wel een grote minderheid, ik ben er zeker van dat de grootste groep internetgebruikers zelfs nog nooit heeft gehoord van joomla, laat staan drupal (dat volgens mij minder bekend is dan joomla).

Maar om terug tot de kwestie te komen:
ik zou het gewoon niet doen, ik zou kiezen voor een bestaand CMS en dat zelf gaan uitbreiden. Als je er zelf een wil maken moet je véél tijd hebben om een fatsoenlijk CMS in elkaar te kunnen steken, en dan nog: met meerdere personen zie je meer dan alleen, ik denk niet dat er één succesvol CMS is dat door één persoon gemaakt is (correct me if i'm wrong ).

Wil je toch écht eentje zelf maken:
zorg ervoor dat je steeds uitbreidingen kan toevoegen, dat je code goed gedocumenteerd is én dat het gewoon veilig is. 


Mijn CMS is al bijna klaar Sterker nog.. Alleen nog UBB erin maken en dat heb ik vandaag ook net op mijn oude CMS gedaan die nu nog draaiende is. Dat is dus eigenlijk over kopieren.

Het Admin-gedeelte ga ik vandaag mee verder, en beveiliging.. Ik weet niet wat jullie allemaal willen beveiligen ect. maar Query's via een databaseclass die mysql_real_escape_string(); gebruikt werkt lekker, Get's worden netjes gescheiden. Een gebruiker kan niet dubbel inloggen. Er word met sessies gewerkt die samenhangt met de database.

En al zijn er zoveel CMS-sen, ik vind die niet fijn/overzichtelijk. Daarbij komt dat een eigen CMS toch wel iets is wat fijn is om te maken, en je leert er veel van.

Het enige wat op dit moment in mijn CMS ontbreekt zijn exceptions, die in de volgende grote update ook zitten nadat deze versie af is.
Offline henver - 02/09/2009 19:58
Avatar van henver HTML gevorderde
Arie2Zero schreef:
Alleen nog UBB erin maken ...


Dus je gebruikt geen wysiwyg editor? Denk toch wel dat dat noodzakelijk is voor een CMS.
Offline ArieMedia - 02/09/2009 20:37
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
henver schreef:
[..quote..]

Dus je gebruikt geen wysiwyg editor? Denk toch wel dat dat noodzakelijk is voor een CMS.
Zeker wel, maar met TinyMCE kan je ervoor kiezen dat het UBB word opgeslagen =].

En bij jQuery heb je een plugin voor TinyMCE...
Dus ik gebruik jQuery met de TinyMCE plugin en maak mijn eigen UBB parser.
Offline vinTage - 03/09/2009 00:17
Avatar van vinTage Nieuw lid Ik snap eigenlijk niet zo goed waarom je het "ubb" wilt opslaan. terwijl TinyMCE valid code uitspuugt?
Offline Wave6 - 03/09/2009 07:34
Avatar van Wave6 PHP beginner Ik heb er 1 in Java geschreven!:D Werkt echt fantastisch en mijn klanten zijn helemaal tevreden... Want ze kunnen zelfs iets aanpassen via hun telefoon!:P Naja geen bijzonderheden. Maar wel een voordeel is dat als je geen internet verbinding hebt maakt het niet uit want zodra je wel internet hebt synchroniseert mijn cms de database met nieuwe informatie uit de applicatie:D

Offline Mythix - 03/09/2009 10:50
Avatar van Mythix Nieuw lid
Arie2Zero schreef:
[..quote..]
Ik weet niet wat jullie allemaal willen beveiligen ect.


Cross site scripting attack
SQL injection
UBB hacks
Arbitrary Command Execution
Remote PHP execution
Mime content type hack
Session/cookie hijacking
mail injection
brute force attacks
...

En waarom je van WYSIWIG's html naar UBB wilt gaan om dit later terug naar html te parsen snap ik ook niet goed... lijkt me gwn onnodige overhead

Waar je wel een punt hebt is dat je er veel van kan leren, maar of het daadwerkelijk iets zal worden dat je in productie zal kunnen gebruiken blijft voor mij een vraag.

Kan je trouwens de features geven die in jouw cms wel zitten die niet in een mainstream cms zitten?
Offline ArieMedia - 03/09/2009 11:12 (laatste wijziging 03/09/2009 11:15)
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Mythix schreef:
Cross site scripting attack
SQL injection
UBB hacks
Arbitrary Command Execution
Remote PHP execution
Mime content type hack
Session/cookie hijacking
mail injection
brute force attacks

Veel van deze dingen is onmogelijk, UBB laat ik toch maar door TinyMCE doen. Cookies gebruik ik niet, en alle userinput word gecontroleerd..

Van sommige dingen heb ik nog nooit gehoord.. zoals brute force heb ik niet zoveel verstand van maar ook Atributy (ofzo) never heard off.

Mythix schreef:
Waar je wel een punt hebt is dat je er veel van kan leren, maar of het daadwerkelijk iets zal worden dat je in productie zal kunnen gebruiken blijft voor mij een vraag.


Why not? Script is volledig OOP en naar mijn mening netjes ingedeeld, bugs zijn dus redelijk snel te traceren en te fixxen.

Mythix schreef:
Kan je trouwens de features geven die in jouw cms wel zitten die niet in een mainstream cms zitten?

Op dit moment niet nee, maar is dat nodig?
Ik heb andere CMSsen nooit echt goed bekeken, maar bij mijn CMS kan je in een module via
  1. <?php
  2. class Page {
  3.  
  4. public function __construct() {
  5.  
  6. }
  7.  
  8. public function GetReturn() {
  9. $aArray = array('content' => 'Content hier :D',
  10. 'blok1' => 'Wawaw',
  11. 'blok2' => 'Nog 1 :D');
  12. return $aArray;
  13. }
  14. }
  15. ?>

Je blokken beheren mits je deze als variabel vak in de database hebt gezet. En op dit gedeelte zal ik nog verder gaan bouwen, dat je bijvoorbeeld die vlakken een aparte module geeft o.i.d
Verder zit er jQuery in, wat in sommige CMS-sen ontbreekt..

Het ene CMS heeft dit, het andere zus en weer een ander zo, en dat zal denk ik de reden zijn waarom er zoveel van zijn =] (of gewoon omdat het leuk is om er 1 te maken)

Maar ik moet toegeven, een CMS maken wat veilig is, en veel kan is moeilijk te maken en er zit veel tijd in. Ik zit nu op anderhalve maand scripten en ik denk dat er nog wel een paar maand aan vast geknoopt kunnen worden =]
Offline vinTage - 03/09/2009 11:26
Avatar van vinTage Nieuw lid brute forcen, is (bijvoorbeeld) een username ingeven (meestal van de admin ) en via een script verschillende wachtwoorden gaan testen tot je de juiste hebt.
Offline ArieMedia - 03/09/2009 11:39 (laatste wijziging 03/09/2009 11:46)
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
vinTage schreef:
brute forcen, is (bijvoorbeeld) een username ingeven (meestal van de admin ) en via een script verschillende wachtwoorden gaan testen tot je de juiste hebt.
Pling,
Aah dat was mn lampje, nu weet ik weer wat dat is xD

Brute-force is dus ook vrij simpel tegen te beveiligen xD.
Na 3 verkeerde pogingen toegang op dat account met 5 minuten ontzeggen en op IP een maand ontzeggen ofzo . Helaas kom je er dan wel met proxy in (i know).

Edit: Ben nu dus bezig met anti-bruteforce script =] (+ controle op alle inlogpogingen)
Offline marten - 03/09/2009 12:03
Avatar van marten Beheerder Voor het bedrijf waar ik werk heb ik ook een cms gemaakt.

Wat de licenties betreft: wanneer iemand hier een website laat bouwen met cms worden deze ook hier gehost. Van ons draaien dus geen websites op andere hosts.

Het cms is modulair opgebouwd en geleverd met een content, statistieken en een gebruikers module. Op aanvraag zijn andere modules te krijgen. Deze kunnen we simpel invoegen door de map met daarin de controller, model en views in de map modules te kopieren. Het script leest zelf alle modules uit die in de directory staan.

Er wordt standaard gebruik gemaakt van TinyMce icm Imagemanager. Waarom het wiel opnieuw uitvinden?

Verder krijgen de gebruikers een uitleg over het cms die meestal 1.5 uur duurt. Vaak krijgen we de opmerking ,,is het zo makkelijk?'' Ook wordt er een mail met handleiding gestuurd. Verder kunnen ze altijd bellen als ze ergens niet uitkomen.

Modules die we nu ontwikkeld hebben:

* content
* nieuws
* nieuwsbrief
* webshop
* beeldreportages
* imageGallery
* Referenties
* Portfolio
* Statistieken
* Gebruikers
* Forum
* Gastenboek
* Lichtkrant
* RSS feed
* etc.

Hopelijk heb je wat aan bovenstaande info. Mocht je vragen hebben hoor ik graag.
Offline Mythix - 03/09/2009 19:46
Avatar van Mythix Nieuw lid
Arie2Zero schreef:
[..quote..]
Cookies gebruik ik niet


Tenzij je een custom session handler gebruikt zou ik daar nog niet zo zeker van zijn ;)
session id's worden namelijk transparant in een cookie opgeslagen en met elke request meegestuurd in de headers...
Maar aangezien je de IP's checkt, wat je dus zeker elke request moet doen, zit je normaal safe zover ik weet

Om brute force tegen tegaan wordt er regelmatig gebruik gemaakt van volgende methode (oa door google). na verschillende mislukt inlogpogingen komt er een extra veld bij het inlogscherm met een captcha...
Een IP een volledige maand ontzeggen zou ik ook niet doen, toch zeker niet na maar 5 pogingen, ik heb persoonlijk zoveel paswoorden dat ik op sommige sites er vele moet proberen voor ik het correcte heb ;)
Offline ArieMedia - 04/09/2009 08:28
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Mythix schreef:
[..quote..]

Tenzij je een custom session handler gebruikt zou ik daar nog niet zo zeker van zijn ;)
session id's worden namelijk transparant in een cookie opgeslagen en met elke request meegestuurd in de headers...
Maar aangezien je de IP's checkt, wat je dus zeker elke request moet doen, zit je normaal safe zover ik weet

Om brute force tegen tegaan wordt er regelmatig gebruik gemaakt van volgende methode (oa door google). na verschillende mislukt inlogpogingen komt er een extra veld bij het inlogscherm met een captcha...
Een IP een volledige maand ontzeggen zou ik ook niet doen, toch zeker niet na maar 5 pogingen, ik heb persoonlijk zoveel paswoorden dat ik op sommige sites er vele moet proberen voor ik het correcte heb ;)
Alle gebruikers worden opgehaald in de database en in een array gestopt. Met deze array controleer ik gebruikers, en wat ze mogen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.184s