Ancuta Maria Gheorghe wrote:
Hello, my name is Gheorghe Ancuta and I am an
undergraduate student at
University of Bucharest, Computer Science Degree.
I am interested in this project: “Anti Vandalism Filters”
I want to take my chances with this project because i am really
interested in everything that is related to security, protection,
vandalism, cryptography, etc. and also because Java is my favorite
programming language. (
http://javageekgirl.wordpress.com/ ) So it's
the kind of project that can keep we awake at nights just to make sure
i can make the best of it.
Here are some ideas for this project, solutions for fighting the evil :)
-
implement an algorithm to check the message ( for example : using
black lists, word/phrase filter(statistical filters), a Bayesian spam
filtering, etc) but taking care that the implementation doesn't affect
the non spam/vandalism contents, or as it was suggested on the mailing
list, integrate with an already existing third party spam detection
tool.
-
create lists:
- a black list of ips (and, as it was specified in the project
description,an integration with an anti-spam service that list bad
ips) – although this is a little tricky because of dynamic ip
allocation.
- a black list of websites (because usually spam messages are
intended for publicity)
- a list of vandal users
- a white list of trusted users
These lists can be really useful: they will help improving the
program because it will get rid of unnecessary processing costs:
memory, cpu, CAPTHCA for trusted users, etc.
-
CAPTHCA integration for bot protection;use it at various moments:
registration, adding new page or update on old one(for users that are
not listed in the whitelist of trusted users), anonymous comments,
etc.
There is a kind of implementation for this, but since it wasn't used in
our default package, it is hard to enable in our default package. I
guess that doing a fresh integration would be easier and cleaner.
-
give trusted users the possibility to watch their articles, or
other articles they choose(sending updates info on email, for
example).
This is already achievable using the Watch menu.
-
allow users to report vandalism actions that passed the detection:
these reports can be processed by an administrator so he can improve
vandal detection.
-
allow only registered users to edit.
This one is already achievable, and this
is the default setting for
fresh installs.
-
new users have a limited number of possible edits until they will
be checked by an administrator : after that the users will be listed
added to the white list, if trusted, or to the blacklist, if not.
Limit the edits by setting maximum X number of edits per every Y
seconds. These limits, X and Y can have different levels based on the
registration date of the user.
-
have a stable version saved for articles, so that when they will
be affected by vandalism, we can easily rollback the content. It is
true that this will need more disk space, but it's a good way to have
a backup for valuable data.
An often requested variant is to have official and
in-progress versions,
where by default the official version is displayed. Given that
versioning is already a central feature of most wiki engines, there
really is no space downside to this. All we need is a metadata that
marks official versions in the history.
*Technical skills: *
I took this Course: Fundamentals of Java Programming -at Infoacademy
in Bucharest, Romania which was finalized with a PhoneBook project.
Besides this, all my programming activity is based on school projects.
I have medium experience working with Java SE, J2EE, C#,
Asp.Net,
Javascript,c,c++ , Html, CSS, Mysql, Sql.
Currently, i am working on this project:” Monitoring and Managing
Local Network” (Details: Language: Java – J2EE tehnology + shell
scripting, Database: Mysql, Framework: Web Server: Tomcat 5.5, IDE:
Netbeans, Operating System: Ubuntu).*Other projects that I created:*
Instant Messenger
Website for Implementing the Getting Things Done Methodology + online
journal, calendar, etc
Application for Online Reserving Plane Tickets
and a bunch of other little ones,on different technologies and
subjects, as school projects
*Others*: Ubuntu, Debian, Networking techologies. I took Cisco CCNA
and LPI(Linux Professional Institute) courses.
Lately I became very interested of cryptography, security, web
protection and I started to do a lot of research in this area.
*If you would be willing and able to do other projects instead, which ones?*
“Survey Application”, “Import from other popular blogging platforms”
or “Import Export from any other Wiki”
Overall, the list of features is good. I would like to see a schematic
implementation plan, both time-wise and technology-wise. Given that
there are many features, the technological plan should show a generic
framework that allows to add features incrementally, and the option to
easily configure the filters.
--
Sergiu Dumitriu
http://purl.org/net/sergiu/