473,503 Members | 241 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

submitted for your amusement...

Hi,

Thought you might get a kick out of this. It happened a few days ago.

A couple years ago I set up a small database to hold the Portfolio information
(we're an ad agency) of the company I work for. It had categories like Posters,
Billboards, Logos, Jingles, etc. and examples of each. The PHP/MySQL backend
fed the info to a Flash file, which displayed the text, graphics and
multimedia.

I was quite a bit less experienced then than I am now and decided not to
password protect the directory I use to administer the database until the
development was finished. There was no real data in it yet, so why bother?
Needless to say, I forgot to password protect it, even after I entered the live
data.

Skip ahead to last week.

My boss asked me to look at the Portfolio. It seems he was demonstrating it to
a client and it was empty. Checking the DB from the command line, I realized
all the data was gone. "Someone hacked the site!", was my first thought, but I
quickly re-discovered that there was no password protection and my heart sank.
"They just guessed at the URL and deleted everything", was my next thought. But
I thought it weird that they'd delete everything, but not add a category like
"Windoze sux0rs!" or something equally witty. I checked the logs, vowing to
make the bastards pay. I found they did it about 2 weeks previous and noted
their IP. I also noticed their browser was "ia_archiver", which rang a bell but
I couldn't quite figure out where I knew that name. On to ARIN to look up who
the IP belongs to... Answer: Alexa Internet. "Alexa" sounded familiar too.
They make the toolbar I use to help track our sites' popularity. I wondered if
they were also an ISP. Probably not, they didn't have many IP addresses.

Then it hit me: the Alexa toolbar sends to Alexa the pages you visit. An Alexa
bot then crawls the sites you visit and ranks them. The "delete" button on the
portfolio script was a simple link, with only a Javascript confirmation (I'm the
only one who updates the portfolio, so why bother with real buttons and a real
confirmation screen?). So no JS means to confirmation. The Alexa bot crawled
the site and deleted every damn record and I was the one who not only left the
door open, but showed it where it was...

Happy Ending: our hosting company had backup tapes. They sent me the files, I
installed them and everything's back up and running.

Oh, and I set up password protection :o)

Shawn
--
Shawn Wilson
sh***@glassgiant.com
http://www.glassgiant.com
Jul 17 '05 #1
5 2763
"Shawn Wilson" <sh***@glassgiant.com> wrote in message
news:3F***************@glassgiant.com...
Happy Ending: our hosting company had backup tapes. They sent me the files, I installed them and everything's back up and running.


well, if there were no tapes, maybe you would find your pages in Alexa
internet archieve, I mean Alexa bot collected them for that purpose ;>>

rush
--
http://www.templatetamer.com/

Jul 17 '05 #2
On Thu, 18 Sep 2003 15:42:31 -0300, Shawn Wilson <sh***@glassgiant.com> wrote:
Then it hit me: the Alexa toolbar sends to Alexa the pages you visit. An Alexa
bot then crawls the sites you visit and ranks them. The "delete" button on the
portfolio script was a simple link, with only a Javascript confirmation (I'm the
only one who updates the portfolio, so why bother with real buttons and a real
confirmation screen?). So no JS means to confirmation. The Alexa bot crawled
the site and deleted every damn record and I was the one who not only left the
door open, but showed it where it was...


Heh - ouch.

This is covered in the HTML specification of course :-)

http://www.w3.org/TR/html4/interact/...#submit-format

"The "get" method should be used when the form is idempotent (i.e., causes no
side-effects). Many database searches have no visible side-effects and make
ideal applications for the "get" method.

If the service associated with the processing of a form causes side effects
(for example, if the form modifies a database or subscription to a service),
the "post" method should be used."

It's also why I'm hesitating running any sort of search engine on the intranet
at work!

--
Andy Hassall (an**@andyh.co.uk) icq(5747695) (http://www.andyh.co.uk)
Space: disk usage analysis tool (http://www.andyhsoftware.co.uk/space)
Jul 17 '05 #3
He mean his mysql database content, and this can't be archived by a bot.
"rush" <pi**@rush.avalon.hr> a écrit dans le message de
news:bk**********@ls219.htnet.hr...
"Shawn Wilson" <sh***@glassgiant.com> wrote in message
news:3F***************@glassgiant.com...
Happy Ending: our hosting company had backup tapes. They sent me the

files, I
installed them and everything's back up and running.


well, if there were no tapes, maybe you would find your pages in Alexa
internet archieve, I mean Alexa bot collected them for that purpose ;>>

rush
--
http://www.templatetamer.com/

Jul 17 '05 #4
"Savut" <we***@hotmail.com> wrote in message
news:Ms*******************@news20.bellglobal.com.. .
He mean his mysql database content, and this can't be archived by a bot.


I understood that, I just made a joke. (as indicated by smilley at the end)

rush
--
http://www.templatetamer.com/

Jul 17 '05 #5
Andy Hassall wrote:

On Thu, 18 Sep 2003 15:42:31 -0300, Shawn Wilson <sh***@glassgiant.com> wrote:
Then it hit me: the Alexa toolbar sends to Alexa the pages you visit. An Alexa
bot then crawls the sites you visit and ranks them. The "delete" button on the
portfolio script was a simple link, with only a Javascript confirmation (I'm the
only one who updates the portfolio, so why bother with real buttons and a real
confirmation screen?). So no JS means to confirmation. The Alexa bot crawled
the site and deleted every damn record and I was the one who not only left the
door open, but showed it where it was...


Heh - ouch.

This is covered in the HTML specification of course :-)

http://www.w3.org/TR/html4/interact/...#submit-format

"The "get" method should be used when the form is idempotent (i.e., causes no
side-effects). Many database searches have no visible side-effects and make
ideal applications for the "get" method.


I realize that now. Like I said, I did this a while ago. I didn't see the harm
at the time. I do now.

I read and I forget.
I see and I remember.
I do and I understand.

Shawn
--
Shawn Wilson
sh***@glassgiant.com
http://www.glassgiant.com
Jul 17 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
7889
by: Batezz | last post by:
I have created a form (below) How do I stop it redirecting to another page (productsearchresults.php) when form is submitted if both the fields are blank? Any help appreciated. Batezz
192
9301
by: Vortex Soft | last post by:
http://www.junglecreatures.com/ Try it and tell me what's happenning in the Microsoft Corporation. Notes: VB, C# are CLS compliant
5
1177
by: Mike Labosh | last post by:
I am teaching a class at a local client's office to bring some VBA and Fox programmers up to speed on VB.NET. Four days of training to cover Forms, Web Apps, Services, XML, Console Apps,...
6
2132
by: stellstarin | last post by:
I have a HTML page containing two submit buttons in the same form.When the form is submitted,I want to know through which submit button the form was submitted. Is there any event or property which...
1
4684
by: planetthoughtful | last post by:
Hi All, I have an ASP.NET page that is used to insert records into an SQL Server table (see previous post). I also have a GridView on the same page that displays the results of a query on the...
8
1527
by: Jimbo | last post by:
Hello I am currently designing an internal ordering system for IT equipment. I am designing it in ASP.NET (vb) using Visual Studio 2003 and using Microsoft SQL Server I have got the system...
0
5126
by: Kalpesh | last post by:
Hi All, I am using .net crystal reports to develop the reports. The version of crystal report assemblies is 10.2.3600.0. When i run the reports i got following error. #region Retry Report...
9
4657
by: Kevin Blount | last post by:
Here's the code I tried, and found it failed... <form runat="server" method="post" name="CreditCardForm" id="CreditCardForm"> <% foreach (object item in Request.Form) { if...
2
1637
by: oorga.power | last post by:
Our 90 % percent work based on our mind. all the successful person of this world won from mind. C Langugae is great language, it needs logics. Logics can only give your logical part of brain,...
0
7203
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7089
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7282
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7339
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
6995
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
5581
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
4678
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3168
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
389
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.