[kdewebdev-site] NewStuff

Eric Laffoon eric at kdewebdev.org
Tue Mar 8 10:09:06 EST 2005


On Tuesday 08 March 2005 08:39 am, Andras Mantia wrote:
> I found the server side scripts that are already used on kstuff.org as
> available via CVS. See http://www.kstuff.org/source/index.php?p=cvs.
>
> If we use these scripts we need PostgresSQL. I don't know if it's
> present on the kdewebdev.org server or not.

I've got them too and I've been looking at them. PostGre is a better database 
than MySql but it's somewhat confusing. I've had problems even getting it 
running on my system. It does however have a very cool object capability. 
Anyway I think it is on the server, but we already have a MySql database set 
up. In any case the scripts they have in their CVS seem less than adequate to 
me so we will be rewriting no matter what. My personal preference would be to 
use an abstraction layer that makes it easy to integrate and change 
databases. I'm working on the database now. Here is what I need. Andras, can 
you list the fields you think we will need for the data management we've 
discussed previously?
>
> KNewStuff also needs the following:
> - FTP upload possibility: currently this is completely disabled, but we
> need some FTP or SFTP anonymous or passwordless upload, otherwise
> uploading won't work at all!

Wrong! George doesn't have FTP enabled for a reason. We can use HTTP just as 
easily. Additionally we have the option to save the file name in the database 
and put the file in a receiving area or to put the uploaded file in the 
database as a blob.

Then there is the matter of uploading. This needs to be looked at in 
perspective. Anything uploaded needs to be verified that it is not some form 
of exploit for security reasons. Right? After all someone could introduce a 
toolbar with a button script of "rm -Rf ~/*". I thought we discussed digital 
signatures and such? Here are some options...

1) allow anonymous uploads - assuming the administrator is not overloaded this 
could be okay but I think it's not the best at all
2) Set up to allow passwordless uploads through user cookies which is very 
easy if we're using HTTP.
Another possibility with the second idea is if someone does not have a user 
account and tries to upload we can capture the payload and redirect them to a 
registration page which would then be able to complete the upload.

Passwordless is easy, but even if we allow anonymous upload (or for that 
matter download is more secure if we can contact users if security flaws are 
found) we can still encourage them to be a registered user. It will also 
allow customization and theming the site in the future.

> - possibility to add cron jobs, otherwise the automatic scanning of
> uploaded files will not work. cron jobs are needed as well if we choose
> to update the web pages from CVS.
>
> Andras
cron jobs are easy enough to do, but my idea is that only trusted members 
would have their packages put up automatically. To become trusted you would 
have to be granted this status from a developer or you would need an upload 
record that had met certain statistical criteria to be automatically set as 
trusted.

The idea behind the trust system is that we configure the algorithms so that 
people who do good submissions are moved from "unknown" status, to "probable" 
and then "trusted" automatically. Trusted are not checked. If they do 
submissions that are poor quality, insecure or highly duplicative of what is 
already available they move to "suspect" and if they submit something 
malicious they automatically move to untrusted and are blocked or never 
processed. This means that whoever is serving as an admin for all or part of 
KNewStuff should only have a limited number of actual submissions to deal 
with as time goes on.
-- 
Eric Laffoon
Project Lead - kdewebdev module


More information about the kdewebdev-site mailing list