473,748 Members | 2,602 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Protecting email with PHP

I have an online directory of alumni from a high school that runs PHP
with a MySql backend containing contact info, email addresses, etc.
Some of the alumni have begun to complain about receiving spam to their
accounts, some of the spam saying that they "know" them from this site.
I've also had alumni that have created email accounts to specifically
use just for this site, and they've started getting spam as well.
I "thought" I thought of everything, and after reviewing some of the
messages on this forum, my "email abstraction" seems fairly solid:

1. The MySQL database has a lengthy username and password, and will
only accept connections from this web server.
2. The site requires signup, and only alumni from the school may sign
up (list provided by school).
3. The user has to click an activation email to be able to login for
the first time.
3a. No two user's can have the same email address (enforced by PHP and
MySQL).
4. No user can view another user's email address, they can only view
their own.
5. I have a web based email client that only pulls the email address
(based on the sendee's memberid) right before hitting the mail()
function.
6. Users cannot type an email address into the web client, they click a
'send me an email' link on the sendee's profile page to open the
client, and the name of the sendee is in a non-editable field.
7. I do have an admin email function for sending mass mailing to
members. All email addresses are bcc'd (of course) and none of the
offending emails have originated from the site.

So...I've been harvested. Any suggestions / research sites where I can
figure out where I went wrong, and how my database was potentially
cracked.

Any help would be appreciated.

Jul 17 '05 #1
5 1717
cfoley1970 wrote:
I have an online directory of alumni from a high school that runs PHP
with a MySql backend containing contact info, email addresses, etc.
Some of the alumni have begun to complain about receiving spam to their
accounts, some of the spam saying that they "know" them from this site.
I've also had alumni that have created email accounts to specifically
use just for this site, and they've started getting spam as well.
I "thought" I thought of everything, and after reviewing some of the
messages on this forum, my "email abstraction" seems fairly solid:

1. The MySQL database has a lengthy username and password, and will
only accept connections from this web server.
2. The site requires signup, and only alumni from the school may sign
up (list provided by school).
3. The user has to click an activation email to be able to login for
the first time.
3a. No two user's can have the same email address (enforced by PHP and
MySQL).
4. No user can view another user's email address, they can only view
their own.
5. I have a web based email client that only pulls the email address
(based on the sendee's memberid) right before hitting the mail()
function.
6. Users cannot type an email address into the web client, they click a
'send me an email' link on the sendee's profile page to open the
client, and the name of the sendee is in a non-editable field.
7. I do have an admin email function for sending mass mailing to
members. All email addresses are bcc'd (of course) and none of the
offending emails have originated from the site.

So...I've been harvested. Any suggestions / research sites where I can
figure out where I went wrong, and how my database was potentially
cracked.

Any help would be appreciated.


Hi,

Just a guess, because it is very hard to be sure what went wrong.
Maybe they could GUESS the emailadresses based on a OPEN STUDENTLIST.
Suppose you domain is greatschool.com
And on the website there is a list of studentnames.

Adrian Anderson
John Anderson
Willy Berter
etc.

You could try: A.********@grea tschools.com
and
J.********@grea tschool.com
W.******@greats chool.com
etc.

and a few other variants.

Is this a possible scenario?

Regards,
Erwin Moller
Jul 17 '05 #2
Hey Erwin, thanks for the reply....

To answer your question, the alumni emails on file are their personal
emails. Anything from jsmith...@hotma il to w.ber...@somedo main.net,
etc. The site is sort of a poor man's classmates..com thing
specifically for the school.

After thinking about it, the one way to get the email address from
members is to have a member send you an email....I do include their
reply address in the email. Seems that this would still be a hard way
to compile a list of members tho.

Jul 17 '05 #3
"cfoley1970 " <fo***@feelthef low.com> wrote in
news:11******** **************@ o13g2000cwo.goo glegroups.com:
I have an online directory of alumni from a high school that runs PHP
with a MySql backend containing contact info, email addresses, etc.
Some of the alumni have begun to complain about receiving spam to their
accounts, some of the spam saying that they "know" them from this site.
I've also had alumni that have created email accounts to specifically
use just for this site, and they've started getting spam as well.
I "thought" I thought of everything, and after reviewing some of the
messages on this forum, my "email abstraction" seems fairly solid:


I agree. My guess is that worms and malware are more to blame for the
spam than your site is.

1. User creates new email address to use with your site.

2. User sends email back and forth to a few fellow alums, they wind up
with his new email address in their inboxes, and perhaps their address
books.

3. One of them gets infected with a worm, which starts sending copies of
itself all over the place, some of them with the original user's email
forged as the "From" address.

From here, it just gets messy. Some of the recipients of the worm are
also infected with other worms, which forge copies of themselves, etc. ad
nauseum, spreading the original user's innocent email address from here
to kingdom come. The worst is when one of the worms sends itself to a
mailing list, forges itself from the innocent address, then the innocent
address winds up on the web somewhere in a mailing list archive. I've had
addresses wrecked within a matter of days in this manner several times.

It's sort of like the old safe sex mantra from the 80's, "Every time you
email someone, you're also emailing everyone they've ever emailed!"

If your users are really getting pissed, consider creating a message
center of sorts, like the "Private Message" feature in many bulletin
board packages. Instead of generating an actual email, the messages get
stored in the database, and users reply back and forth within the
confines of the site.

hth
--

Bulworth : PHP/MySQL/Unix | Email : str_rot13('f@fu ng.arg');
--------------------------|---------------------------------
<http://www.phplabs.com/> | PHP scripts, webmaster resources
Jul 17 '05 #4
thanks senator....thro ugh the power of massive ego (ie I have no holes
in my software!!) and talking to a few members, I'm starting to think
it's a malware issue as well.

btw....permissi on to steal "safe email mantra"?

cmf

Jul 17 '05 #5
"cfoley1970 " <fo***@feelthef low.com> wrote in news:1108073807 .204439.260970
@g14g2000cwa.go oglegroups.com:
thanks senator....thro ugh the power of massive ego (ie I have no holes
in my software!!) and talking to a few members, I'm starting to think
it's a malware issue as well.

btw....permissi on to steal "safe email mantra"?


Go for it, not sure where I initially heard it but I stole it too. Reminds
me of another favorite, "Steal from me, and you're stealing twice!"
--
Bulworth : PHP/MySQL/Unix | Email : str_rot13('f@fu ng.arg');
--------------------------|---------------------------------
<http://www.phplabs.com/> | PHP scripts, webmaster resources
Jul 17 '05 #6

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

Similar topics

24
5056
by: Yang Li Ke | last post by:
Hi guys! Anyone know a way so that users purchasing my scripts would not be able to share them with other people ? Yang
2
2463
by: Jim | last post by:
I have contact info including email address in MySQL. If I use php to extract them into online directory, can a spambot harvest the address? or does the spambot read the raw php code? I previously used javascript to hide my email addresses but more and more people are disabling javascripting for security reasons. I need to find a way to keep my email address from being harvested. Does encoding the email with Ultimate Mailto (hex and...
12
2203
by: Roland Hall | last post by:
I read Aaron's article: http://www.aspfaq.com/show.asp?id=2276 re: protecting images from linked to by other sites. There is a link at the bottom of that page that references an interesting article about ways of protecting your images from being downloaded. It was my understanding that if the client sees it, then it's in the client cache. Am I wrong in this belief or not? I took the information in the article and created the .asp that...
3
1604
by: netsurfer | last post by:
hi..I'm working on a project that requires files to be password protected on a UNIX based site. The people that own the web site want to be able to change the password every so often. Unfortunately, I have restricted access only to FTP so I really can't log in to any kind of Administrative Console or Admin Panel and see if there are folders that can be password protected and then have passwords changed on them. The people I'm contracted...
7
1463
by: Shawn | last post by:
Hi. I have a folder that contains a lot of different documents. xls, .doc, .pdf etc. Different users have access to different documents. The problem is that if a user knows the name of a document then he can just write the path into IE and get access to it anyway. Is it possible to prevent this? Thanks, Shawn
0
250
by: Mark Stokes | last post by:
Hi there, I am currently writing a webmail client in asp.net with C#. I currently support HTML email bodies, but badly formed HTML can cause problems with the rest of my page. Of course, I have no control over the content of the HTML email body, so I have to assume that it may contain the worse, while protecting my users as much as possible, without limiting them to text only emails!
8
1764
by: Iain Napier | last post by:
I'm in the middle of developing a website with a downloads section. It's a wad of educational software for an LEA which for obvious reasons needs password protecting. Users have to authenticate before being allowed to search and getting a link to the download. Don't want the users to get at the files without logging in first, so I created a script (filedownload.php) that adds the filename to the URL query string (e.g.,...
21
2948
by: solomon_13000 | last post by:
I am using ms access database and asp 3.0 as my front end. In my database there is a table called account and a field called password. How do I protect the password stored in the database.
16
4206
by: rogerjames1 | last post by:
How would I go about protecting a whole directory, e.g. http://www.example.com/members/ and all sub-directories with login protection? I wouldn't like to put a .php script in each directory and I'd like to protect all file-types
1
2110
by: =?Utf-8?B?S2xhdXMgSmVuc2Vu?= | last post by:
Hi I have in the past had succes with protecting pdf-files from download by unauthenticated users by adding an application extension in IIS and mapping pdf.files to be served by the aspnet-process. I am currently faced with the same challenge - just for swf-files (shockwave flash). I need only authenticated users to be able to access them. However - when I make aspnet_isapi.dll handle swf-files, they are not shown
0
8823
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9530
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9363
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9312
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9238
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8237
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6073
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 then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4864
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
2775
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.