I no longer need this programming service as it would be too complicated and expensive. But i leave it here if anyone needs ideas.

Hi, im looging for PHP and mysql programmer who knows:
a) how to make performance optimised php script and mysql structure with so called indexes
b) how to make secure, non vulnerable script of guestbook.
c) and wants how to make usefull script for people and likes programming

When you look at (url here, no longer exist a wordpres blog) i would like to add one new blog post to this blog and add a html/javascript/iframe/flash (i dont know which is most usefull and least server performance hungry) code into the post which will show guestbook window there.

LOOK of the guestbook:


I dont need that good graphics, just plain box with borders and texts (http://miniaplikace.blueboard.cz/sluzby-shb (very simple, space savy.)) + field for nickname (when mouse over nickname in guestbook, visitors can see IP address of poster like xxx.xxx.xxx.***) + field for message (global maximum 255 characters, javascript contolled limit so no need to check on guestbook server and cause load) + field with antispam question (random numbers and characters appear - image. user write down only alpha characters, or only numbers he sees, depending on question (write down alpha or numbers)
Then next elemtn of guestbook: smileys line if user enabled it in admin area (described below, default its disabled). Also each guestbook post contain X character which acts as a report link, visitor need to confirm he want to report this post. When 2 reports from two different ips accumulated, such post is automatically prunned on conjob run, also single IP reports older 1 month are also prunned by cronjob. Each guestbook contains at the bottom line with link to my guestbook generator website

overload protection
- visitor can post minimum 10 second after site/script load. Else post not submitted, no error message.
- IP that loads page with guestbook script 5 times in 10 seconds is added to the 30 minutes bantable and therefore cant load the guestbook to overload server
- one guestbook can be loaded/served maximum 20 times in one minute in case it is reached, plain text message appear "This Guestbook reached its limit and is temporarily unavailable" instead of loading guestbook and posts from database.
- maybe creating guestbook code the way that all things and rules are included in guestbook code, so only like one query for posts showing is sent to the server mysql/or file name storage. if mysql, it uses indexes.
- cronjob to check whether one IP address posted on more than 5 different users guestbooks. If that is found, that IP would be probably spam and all its posts will be automatically deleted by this cronjob and IP added into 30 minutes ban table (this table is emptied by cronjob each 30 minutes)
- cronjob to prune oldest posts from all guestbooks so the maximum stored post count is 100 in all. cronjob periodicity: daily


guestbook global antispam blacklist (all posts/usernames containing such words wont be submitted. preferably if words can be included in guestbook code so its not required to query server.
http
www
.com
.net
.info
.pl
<
[

The questbook will be served from special external site like: getquickguestbook.com where people can get their questbooks.

Main page contains form with field: email
visitor enter email and click: Generate guestbook

Then visitor sees two fields: password for new account/existing account and field "domain from which only can be the guestbooks loaded" field
"Generate" button

Once done. Visitor can see field with his guestbook code + this hyperlink: List of existing guestbooks. In the list, there user can see list of created guestbooks and can edit guestbooks. There are edit options:

USERS BACKEND

1) user can preview guestbook/s content
From there, owner can delete/edit posts and report spam posts to admin (when reporting, he agree that reported post is made probably by SPAM bot. When report sent, the posters IP is added to the 1 month blacklist table and all this IPs posts are deleted from global database immediatelly or on 10 minute cronjob run. User is notiffied after submission that all posts from that IP will be deleted in 24 hours and IP was banned for 1 month.
3) user can change his guestbook settings:
guestbook size width height in pixels
border in pixels
border color
background color
font size in pixels, def. 11px
guestbook refresh:
amount of posts per page. allowed 1-20
use smileys yes/no

ADMIN BACKEND

admin can see the list of guestbooks with most posts, paging 20 per page.
admin can click guestbook and see its preview (same preview as guestbook owner see, so he can edit and delete posts and also report them as spam for automatic deletion as mentioned above .. search "report spam posts to admin") admin can delete the guestbook in one click.


ANOTHER FEATURE
admin can see list of guestbooks with most views, there is a cron for checking it and books above certain monthly views treshold will need to paypal subscribe $5 for each 50,000 views. there is a monthly cron. When reached, user is emailed. When paid and upgraded the guestbook.
User can additionally upgrade his minutelly view count limit (mentioned above, search:"one guestbook can be") - limit of guestbook views per minute. There is a special section in his backoffice called upgrades. There he can see number of guestbook views last 12 months. He can PayPal prepay his views and remove guestbook frontend message "This Guestbook reached its limit and is temporarily unavailable" like this: 100 views per minute $5 monthly, 500 views per minute $10 monthly, 1000 views per minute $20/mo. It works as onetime or subscription. By upgrading, Account is moved to another mysql table as upgraded and user need to use new code (we save mysql query to determine that guestbook status and handling its limits)

User can also buy an Extension pack for another $5 monthly which will enable him to store up to 500 last posts and set paging to 50 posts from default 20 max.

The upgrade may work like shopping cart, so he select Extension pack + view count limit increase described above and subscribe all at once. This is optional.