TalkPHP
 
 
Account Login
Latest Articles
» The basic usage of PHPTAL, a XML/XHTML template library for PHP
» Vulnerable methods and the areas they are commonly trusted in.
» Simple way to protect a form from bot
» The Basics On: How Session Stealing Works
» How to keep your forms from double posting data
IRC Channel
IRC Speech Bubble Join the friendly bunch on IRC...
(#TalkPHP on Freenode)

...Also available via a web interface.

See this thread for information on the TalkPHP Free Hugs Initiative™. Subject to availability.
Associates
Associates
CSS Tutorials
Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old 01-28-2008, 04:55 PM   #1 (permalink)
The Frequenter
 
ReSpawN's Avatar
 
Join Date: Nov 2007
Location: Netherlands
Posts: 460
Thanks: 49
ReSpawN is on a distinguished road
Default Project suReality - ReSpawN

Project suReality is the working title of my CMS system. I'm going to create it for the experience and of course to be sold to customers. Therefor it has to be somewhat flawless and that is where you guys come in!

I've been around talkPHP for a while now and I've grown quite fond of so to speak. I've learned a lot from the people that post here. Especially the articles from Wildhoney, Alan, Rendair and Salathe did me good. And of course, I've leaned a lot from the introduction to OOP by TcAdereas (hopefully spelled alright).

Let's get back to the subject here. I'm, as I just have written, working on my CMS. To not spam this board, I am going to ask my questions in this topic, so that other people that are interested in making their own as well, can read all about it in here.

I started off in an other topic but I couldn't change the subject, so I am simply going to refer to it.

The best way to start off building a CMS; Thread.

While asking the questions and building my CMS, I will expand the list somewhat to help other guys find their way in this topic.

Let the question asking begin huh? I hope I did this right.
__________________
"Life is a bitch, take that bitch on a ride"
Send a message via MSN to ReSpawN
ReSpawN is offline  
Reply With Quote
Old 01-28-2008, 04:59 PM   #2 (permalink)
The Frequenter
 
ReSpawN's Avatar
 
Join Date: Nov 2007
Location: Netherlands
Posts: 460
Thanks: 49
ReSpawN is on a distinguished road
Default

First off, I wanted to secure my CMS against hackers and script kiddies using a license system. There are a couple of ways to do this, I recon. But I have yet to find the right way to take this up.

Way #1;
Thought about connection to a master-slave database. My own database therefor being the master, and the copy of suReality being the slave. The key would then have to be stored in my own database and unaccessible from the outside. First off, I don't think that that's possible, but hey, what the heck.

Way #2;
Creating a large deposit of codes, encoded into base64 about 5 times. Easy hackable, but yet they would know how to. I think the eregi will take up too much time, so that's not very smart as well.

Well, I've got some other small idea's but they are not worth mentioning. Does anyone have an other perspective on this idea? I want to incorporate the function into every home-build module and script so that you would really have to buy large - separate - modules.

Can't wait to sink my teeth into this one, but as it stands now, I am alone on this one. I hope you guys can offer some insight.
__________________
"Life is a bitch, take that bitch on a ride"
Send a message via MSN to ReSpawN
ReSpawN is offline  
Reply With Quote
Old 01-28-2008, 05:10 PM   #3 (permalink)
Alan @ CIT
Member of the Month
The Frequenter
Member of the Month Top Contributor 
 
Alan @ CIT's Avatar
 
Join Date: Apr 2005
Location: South UK
Posts: 483
Thanks: 51
Alan @ CIT is on a distinguished road
Default

In reality, the only way you could realisticly prevent people sharing your application is to use a licence manager / encoder such as Ioncube or Zend Encoder. This would deter your average user who wants to share it with their friend but wouldn't do much against "professional" sharing groups as both Ioncube and Zend Encoder can be decrypted back to the original source using various grey-market tools.

Alternativly, you could take the vBulletin approach which is to reactivly respond to pirated copies of your application. Ie, a user reports that they think that your script is being run illegally on Example Web Page, you then check this website against your licence database and take action as needed (ie, send them a DMCA notice and hope for the best).

It's a sad truth nowadays that if large companies such as Microsoft are unable to prevent their software from being shared with their vast resources, small companies like us have no chance

Alan
Send a message via MSN to Alan @ CIT
Alan @ CIT is offline  
Reply With Quote
Old 01-28-2008, 05:37 PM   #4 (permalink)
The Frequenter
 
ReSpawN's Avatar
 
Join Date: Nov 2007
Location: Netherlands
Posts: 460
Thanks: 49
ReSpawN is on a distinguished road
Default

Alan, what you're talking about there, makes a lot of sense. I've heard of the Zend Encoder (your blog and all, love it by the way) but I'm new to IonCube. I recon both need an pre-installed plugin on the server to decrypt, the encrypted data? Some of the more cheaper hosts do not have that ability. As shame as it is, I cannot depend on a encoder that has to be paid for since it might kill my selling rates.

On the other hand, the vBulletin approach is pretty well known to me. I've used vBulletin in the past but my database crashed and I've never gotten back around to putting my old site up (SpiraDesigns).

As I see it know, there is simply not a simple way to secure your CMS against copying. I trust that against my hopes, my CMS will not grow that popular. So for now, I will push the idea of a license system to the back of my head and start off with something else. Maybe a wider template class.

Thanks for the answer.
__________________
"Life is a bitch, take that bitch on a ride"
Send a message via MSN to ReSpawN
ReSpawN is offline  
Reply With Quote
Old 01-28-2008, 07:28 PM   #5 (permalink)
The Frequenter
Newcomer 
 
xenon's Avatar
 
Join Date: Dec 2007
Location: Bucharest, Romania
Posts: 438
Thanks: 3
xenon is on a distinguished road
Default

There isn't a bullet proof licensing system or such for web applications.

About way #1 of yours. You may want to take a look at SOAP and XML-RPC. I think it's easier that way instead of hardcoding your database access credentials into the user's system. Of course, by deleting a couple of lines of code, you are not constrained by anything anymore, but for the legitimate user, that doesn't matter, because he doesn't know how to do it.
__________________
I have optimistic thoughts, even though sometimes (if not always) life's a bitch.
xenon is offline  
Reply With Quote
Old 01-28-2008, 09:35 PM   #6 (permalink)
Orc
The Prestige
 
Orc's Avatar
 
Join Date: Dec 2007
Posts: 1,044
Thanks: 193
Orc is on a distinguished road
Default

Quote:
Originally Posted by xenon View Post
There isn't a bullet proof licensing system or such for web applications.

About way #1 of yours. You may want to take a look at SOAP and XML-RPC. I think it's easier that way instead of hardcoding your database access credentials into the user's system. Of course, by deleting a couple of lines of code, you are not constrained by anything anymore, but for the legitimate user, that doesn't matter, because he doesn't know how to do it.
There is a brilliant Licensing system for PHPCow, which Gamespot, and all those other clustered sites use. People still try to crack the system, or null as you call, yet it doesn't work.

That goes for cPanel too..
__________________
VillageIdiot can have my babbies ;d
Orc is offline  
Reply With Quote
Old 01-28-2008, 09:43 PM   #7 (permalink)
Alan @ CIT
Member of the Month
The Frequenter
Member of the Month Top Contributor 
 
Alan @ CIT's Avatar
 
Join Date: Apr 2005
Location: South UK
Posts: 483
Thanks: 51
Alan @ CIT is on a distinguished road
Default

PHPCow uses Zend Encoder as far as I'm aware, not sure about Gamespot and doesn't cPanel use a C/Perl mixture for its code rather than PHP?

Alan
Send a message via MSN to Alan @ CIT
Alan @ CIT is offline  
Reply With Quote
Old 02-08-2008, 06:14 PM   #8 (permalink)
The Frequenter
 
ReSpawN's Avatar
 
Join Date: Nov 2007
Location: Netherlands
Posts: 460
Thanks: 49
ReSpawN is on a distinguished road
Default

Project suReality
  • MySQL Class [100%]
  • Email Handeling Class [50%]
  • Session & User Management [0%]
  • Module Management [0%]
  • Template Class [30%]
TlcAndres replied to my question about where to start with a Cache Class. First off, what is that supposed to be?

Second, I am currently developing my own template class but so far it's going pretty crappy. I've used a class with functions calling up a document where the layout is defined, and which includes an other file as well.

PHP Code:
       function constructFooter() {
                global 
$systemCore$config$db$pageStart;
                if (
file_exists('templates/'.$systemCore['system']['template'].'/general.footer.php')) {
                    require_once(
'templates/'.$systemCore['system']['template'].'/general.footer.php');
                } else {
                    echo 
'Could not retrieve general.footer.php';
                }
            } 
As you can see, I have to globalise some of the functions my system uses in order to make it work propperly. Is this the best way or can somebody please give me an example to use?
__________________
"Life is a bitch, take that bitch on a ride"
Send a message via MSN to ReSpawN
ReSpawN is offline  
Reply With Quote
Old 02-08-2008, 08:44 PM   #9 (permalink)
The Addict
 
Join Date: Nov 2007
Posts: 264
Thanks: 2
TlcAndres is on a distinguished road
Default

By a cache class I meant a class that works in tangent with the template class to store the finished products into a cache folder, for example.

template:

Quote:
<html><head><title><{title}></title></title></head></html>
run through template class
PHP Code:
<html><head><title><?=t_titleFetch();?></title></title></head></html>
the cache class then just stores it into the appropriate folder heirarchy, optimally the cache class would also handle the storing of sql results which stay pretty much the same.

Also, functions preferably do not output any messages and the such.
TlcAndres is offline  
Reply With Quote
Old 02-09-2008, 08:00 PM   #10 (permalink)
The Frequenter
 
ReSpawN's Avatar
 
Join Date: Nov 2007
Location: Netherlands
Posts: 460
Thanks: 49
ReSpawN is on a distinguished road
Default

Thanks mate, I am still figuring out if I want to use a template class. For now, I can going to create and expand my other classes. Thanks again.
__________________
"Life is a bitch, take that bitch on a ride"
Send a message via MSN to ReSpawN
ReSpawN is offline  
Reply With Quote
Old 02-10-2008, 02:34 AM   #11 (permalink)
how quixotic are you?
 
ETbyrne's Avatar
 
Join Date: Dec 2007
Location: Lapeer, MI
Posts: 445
Thanks: 37
ETbyrne is on a distinguished road
Default

This sounds cool, just one question. What's your CMS going to do? Just curious.
__________________
Dingo Web Systems > http://www.dingocode.com
My Website > http://www.evanbot.com
ETbyrne is offline  
Reply With Quote
Old 02-10-2008, 02:47 AM   #12 (permalink)
The Addict
 
Join Date: Nov 2007
Posts: 264
Thanks: 2
TlcAndres is on a distinguished road
Default

From the looks of his classes, it appears to be a joomla-ish type CMS.
TlcAndres is offline  
Reply With Quote
Old 02-10-2008, 10:41 AM   #13 (permalink)
The Frequenter
 
ReSpawN's Avatar
 
Join Date: Nov 2007
Location: Netherlands
Posts: 460
Thanks: 49
ReSpawN is on a distinguished road
Default

Quote:
Originally Posted by TlcAndres View Post
From the looks of his classes, it appears to be a joomla-ish type CMS.
You're good. Try to guess how much money I have in my wallet.

Seriously, he's correct. It's your everyday basic and advanced system. For bloggers, basic websites, business websites and I am also going to focus on gamers (live teamspeak and such).
__________________
"Life is a bitch, take that bitch on a ride"
Send a message via MSN to ReSpawN
ReSpawN is offline  
Reply With Quote
Old 02-10-2008, 05:02 PM   #14 (permalink)
The Addict
 
Join Date: Nov 2007
Posts: 264
Thanks: 2
TlcAndres is on a distinguished road
Default

Good luck mate, my own CMS is under construction and testing.
TlcAndres is offline  
Reply With Quote
Old 02-10-2008, 08:44 PM   #15 (permalink)
The Frequenter
 
ReSpawN's Avatar
 
Join Date: Nov 2007
Location: Netherlands
Posts: 460
Thanks: 49
ReSpawN is on a distinguished road
Default

Very nice, if you need help or if you've got something to show, post!
__________________
"Life is a bitch, take that bitch on a ride"
Send a message via MSN to ReSpawN
ReSpawN is offline  
Reply With Quote
The Following User Says Thank You to ReSpawN For This Useful Post:
codefreek (02-12-2008)
Old 02-12-2008, 05:14 AM   #16 (permalink)
Super Moderator
Inquisitive 
 
codefreek's Avatar
 
Join Date: Sep 2007
Location: Near you.
Posts: 791
Thanks: 241
codefreek is on a distinguished road
Default

ReSpawN there is a thing you could do to your licence problem ;)

you can code in the cms a CMD close tag, or so on or a like admin accses
that you only now and then if you see a person use your script when they havent payed for it or so on..

Then you can close them down ;)

many ppl's do like this,

Hope this helps out ;)
keep up the good work :D

and ty for this topic :)
codefreek is offline  
Reply With Quote
Old 02-12-2008, 11:14 AM   #17 (permalink)
The Frequenter
 
ReSpawN's Avatar
 
Join Date: Nov 2007
Location: Netherlands
Posts: 460
Thanks: 49
ReSpawN is on a distinguished road
Default

Yep, there will be an global admin for sure, so I can access every version and release of my CMS. It would be nice if I could sell modules separate but I recon that'll take a lot of coding. When I start coding my modules, I will first code my license system.
__________________
"Life is a bitch, take that bitch on a ride"
Send a message via MSN to ReSpawN
ReSpawN is offline  
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 07:11 AM.

 
     

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0
Inactive Reminders By Icora Web Design