Zen Cart™ Site Security

The Zen Cart™ software is made available to you for use, additions, changes, modifications, etc. without charge, under the GNU General Public License.

While we do not charge for this software, donations are greatly appreciated each time you download a new version, to help cover the expenses of maintenance, upgrades, updates, the free support forum and the continued development of this software for your online e-commerce store.

Donations can be made at: The Zen Cart™ Team Page

We appreciate your support.
The Zen Cart™ Team


Zen Cart™ is derived from: Copyright 2003 osCommerce
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
and is redistributable under the GNU General Public License



This software is OSI Certified Open Source Software.
OSI Certified is a certification mark of the Open Source Initiative.

STEPS IN SECURING YOUR ZEN CART™ STORE

The following is a list of several steps you can take to secure your Zen Cart™ site:

1. Delete the /zc_install folder

Once installation is complete, delete the /zc_install folder from the server.
Don't simply rename the folder, as this leaves you vulnerable if someone were to discover this renamed folder.

2. Rename your "/admin" folder

Renaming the "admin" folder makes it much harder for would-be hackers to get into your admin area.

(Before making the following changes, make sure to have a current backup of your files and your database.)

A- Open your admin/includes/configure.php, using a simple text editor like notepad.
Change all instances of /admin/ to your chosen new admin folder-name.

Change this section:

define('DIR_WS_ADMIN', '/admin/');
define('DIR_WS_CATALOG', '/');
define('DIR_WS_HTTPS_ADMIN', '/admin/');
define('DIR_WS_HTTPS_CATALOG', '/');

And this section:

define('DIR_FS_ADMIN', '/home/mystore.com/www/public/admin/');
define('DIR_FS_CATALOG', '/home/mystore.com/www/public/');

B- Find your Zen Cart /admin/ directory, using your FTP software or your webhost File Manager.
Rename the directory to match the settings you just made in your admin/includes/configure.php.

C - To login to your admin system you will now have to visit a new URL that matches the new name used in steps A and B above. For example instead of visiting http://www.example.com/admin/ visit http://www.example.com/NeW_NamE4u/.

D - You should also protect your admin area by using a .htaccess file similar to the one shown below, and placing it into /admin/includes. (This should already exist in Zen Cart versions 1.2.7 and greater.)

3. Set configure.php files read-only

It's important that you CHMOD (set permissions) on the two configure.php files as read-only.
Typically this means setting it to "644", or in some cases "444".

The configure.php files are located in:
/<YourStoresFolder>/includes/configure.php
/<YourStoresFolder>/admin/includes/configure.php

Quite often setting permissions on a file to read only via FTP will not work. Even if the permission looks like it was set to read only, it really may not have been. You must verify the correct setting by entering the store and seeing if there is a warning message on the top of the screen. "Warning: I am able to write to the configuration file:..." In this case you will need to use the "File Manager" supplied with your webhosting account.

If you're using a Windows server, simply set the file as Read-Only for Everyone and especially the IUSR_xxxxx (Internet Guest Account) user if running IIS, or the System account or apache user if running Apache.

4. Delete any unused Admin accounts

Admin->Tools->Admin Settings
In your admin area, open the Tools menu, and choose Admin Settings
- Check for any unused admin accounts, and delete them. Especially the "Demo" account, if it exists.

5. Admin Password Security

It is wise to use complicated passwords so that a would-be hacker cannot easily guess them.

You can change your admin password in Admin->Tools->Admin Settings, and click on the "Reset Password" button, or click on the icon that looks like a recycle symbol.

We recommend that you use passwords that are at least 8 characters long.
Making them alpha-numeric (including letters, numbers, upper-and-lower-case, etc) helps too.
If you are going to use normal words it is a good idea to join together two normal words that don't normally go together.

6. Protect your "define pages" content in "html_includes"

After you have finished editing your define pages (Admin->Tools->Define Pages Editor), you should protect them:

A. Download a copy of them to your PC using your FTP software. They are located in the /includes/languages/english/html_includes area.

B. Make them CHMOD 644 or 444 (or “read-only” for Windows hosts). See notes above on CHMOD.
/includes/languages/english/html_includes – and all files/folders underneath
(note: on "some" hosts, you must use at least 645 or 555 in order for the contents to still display)

If you make them read-only, then a would-be hacker cannot edit them if they gain access to your system, unless they can get permissions to change the read-only status, which is more complicated.

NOTE: Of course, once you set them read-only, then you'll have to go and set them read-write before making additional changes using the define-pages editor.

7. Use .htaccess files to protect against unwanted snooping

In several folders, there are .htaccess files to prevent users from being able to browse through the files on your site unless they know exact filenames. Some also prevent access to "any" .PHP scripts, since it's expected that all PHP files in those folders will be accessed by other PHP files, and not by a browser directly. This is good for security.
If you delete these files, you run the risk of leaving yourself open to people snooping around.

There are also some semi-"blank" index.html files in several folders. These files are there to protect you in case your FTP software won't upload .htaccess files, or your server won't accept them. These only prevent directory browsing, and do not stop execution of .PHP files. It's a good "alternative", although using .htaccess files in ALL of these folders is the better choice, for servers that accept them.

Suggested content for .htaccess files in folders where there is an index.html file but NOT yet an .htaccess file would be something like the following (depends on your server configuration):

#.htaccess to prevent unauthorized directory browsing or access to .php files
   IndexIgnore */*
   <Files *.php>
    Order Deny,Allow
    Deny from all
   </Files>

#add the following to protect against people finding your spiders.txt version
   <Files *.txt>
    Order Deny,Allow
    Deny from all
   </Files>

If your webhost configuration doesn't allow you to create/use your own .htaccess files, sometimes they provide an interface in your hosting admin control panel where you can set the desired .htaccess settings.

It is recommended that you work with your host to configure these settings if this is the method they require. You need to choose -- and use -- the appropriate method for your server. As mentioned above, it's best to work with your web hosting company to select and implement the best method for your specific server. We can't tell you what to use for your specific server, but we offer these guidelines as a starting point.

Disable "Allow Guest To Tell A Friend" feature

You may wish to go to Admin->Configuration->Email Options->Allow Guest To Tell A Friend and set the option to 'false'. This will prevent non-logged-in customers from using your server to send unwanted email messages.

Protect your "images" and other folders

During initial installation, you are advised to set your images folder to read/write, so that you can use the Admin interface to upload product/category images without having to use FTP for each one. Similar recommendations are made to other files for various reasons.

However, leaving the images (or any other) folder in read/write mode means that hackers might be able to put malicious files in this (or other) folder(s) and thus create access points from which to attempt nasty exploits.

Thus, once your site is built and your images have been created/loaded, you should drop the security down from read/write to read. ie: change from CHMOD 777 down to 644 for files, and to 755 for folders.

File/Folder permissions settings

On Linux/Unix hosts, generally, permission-setting recommendations for basic security are:

  • folders/directories: 755
  • files: 644

On Windows hosts, setting files read-only is usually sufficient. Should double-check that the Internet Guest Account has limited (read-only) access.

Folder Purposes

The folders for which installation suggests read-write access for setup are these. If your site supports .htaccess protection, then you should use it for these folders.

  • /cache
    This is used to cache session and database information. The BEST security protection for this is to move it to a folder "above" the webroot (public_html or htdocs or www) area, so that it's not accessible via a browser. (Requires changes to DIR_FS_SQL_CACHE setting in configure.php files as well as Admin > Configuration > Sessions > Session Directory.)
  • /images
    See other suggestions earlier.
  • /includes/languages/english/html_includes
    See other suggestions earlier.
  • /media
    This is only suggested read-write for the sake of being able to upload music-product media files via the admin. Could be done by FTP as an alternative.
  • /pub
    This is used on Linux/Unix hosts to have downloadable products made available to customers via a secure delivery method which doesn't disclose the 'real' location of files/data on your server (so that people can't share a URL and have their friends steal downloads from your site)
  • /admin/backups
    This is used by automated backup routines to store database backups. Optional.
  • /admin/images/graphs
    This is used by the Admin > Tools > Banner Manager for updating/displaying bar graphs related to banner usage. If not writable, feature is ignored.

Remove the print URL from your browser's headers

To stop the browser from printing a URL on the invoice or any other document on the web, follow these steps:

For Internet Explorer:
o Click on File then Page Setup
o At page setup, remove this two character combination: "&u" from the header or footer text box.

For Firefox:
o Click on File then Page Setup
o
On page setup window click on the tab "Margins & Header/Footer". In the "Header & Footer" section set all of the drop downs to --blank--. (Or at least remove all references to "Title" and "URL".)

Things to Check Up on Regularly

  1. Be sure you've done all the steps listed in this document
  2. Keep good backups of your website files and database
  3. Check your server's errorlog regularly for odd or suspicious activity
    • look for any links that went to a page that isn't in your site
    • look for links that have http after the index.php
  4. Check your website files regularly to be sure nothing's been added or altered
  5. Ask your webhost what they have done to be sure the server you're on is safe and secure so that outsiders cannot do any harm, and so that other websites on your server cannot be used to get to your site and cause any harm (in case they have security holes in them)
  6. If your business warrants, or you still want additional assurance (esp if running forum software on your site, or other scripts outside of Zen Cart), hire a security consultant to check your site regularly and give you peace of mind in exchange for a few dollars


Copyright 2007 Zen Cart


window

window

gave tie

tie

and my

my

crowd ever

ever

four charge

charge

child melody

melody

paragraph weight

weight

spell one

one

hand night

night

some put

put

mother feed

feed

well the

the

molecule follow

follow

big inch

inch

near long

long

month rose

rose

fly shall

shall

feet next

next

die truck

truck

mile sand

sand

machine bottom

bottom

science blow

blow

period human

human

note nine

nine

that in

in

consonant occur

occur

mean leave

leave

rub swim

swim

oh try

try

apple famous

famous

suggest whose

whose

shop symbol

symbol

grow either

either

has stand

stand

cat differ

differ

full during

during

tool up

up

key shall

shall

exact by

by

travel separate

separate

soon paint

paint

though ring

ring

sit trip

trip

done three

three

was head

head

night gold

gold

happen for

for

field ask

ask

young go

go

tree up

up

triangle window

window

which smell

smell

electric find

find

else open

open

soil
real butts gallery

real butts gallery

notice wives kissing

wives kissing

glass winnie pooh author

winnie pooh author

cell ash hentai

ash hentai

dress gay man blowjob

gay man blowjob

good highschool homemade teen

highschool homemade teen

sent pussy cat dolls caesar

pussy cat dolls caesar

shoe barcelona sex shop

barcelona sex shop

truck teen love sperm

teen love sperm

gather hypertension and erectile dysfunction

hypertension and erectile dysfunction

spread cheney dancing naked

cheney dancing naked

brother caligula nude

caligula nude

spread pleasure enhancers

pleasure enhancers

require fingering female techniques

fingering female techniques

doctor iso meaning personals

iso meaning personals

valley butterfly kiss bob carlisle

butterfly kiss bob carlisle

even adult orgy sex dvd

adult orgy sex dvd

proper thick phat black booty

thick phat black booty

liquid engaland swing

engaland swing

mountain tiffany teen speakers

tiffany teen speakers

interest fatty bin laden

fatty bin laden

board grand valley sex tape

grand valley sex tape

flow moms spanking naughty daughters

moms spanking naughty daughters

special counseling for alcoholics

counseling for alcoholics

three brutal tobacco

brutal tobacco

clean lifestream cholesterol test strips

lifestream cholesterol test strips

double horny house wives vids

horny house wives vids

less desperate housewives lesbian femdom

desperate housewives lesbian femdom

what schoolgirl blowjob brunette

schoolgirl blowjob brunette

guess java swing training

java swing training

finger moaning sluts

moaning sluts

cell reno strip cubs

reno strip cubs

row masturbation teddy

masturbation teddy

wear dc female escorts

dc female escorts

job dog peeing statue

dog peeing statue

burn girls naked swimming pool

girls naked swimming pool

those peeing grannies

peeing grannies

blue bizarre neurological

bizarre neurological

basic the bounty naked girls

the bounty naked girls

side design a porn star

design a porn star

thing breast enlargement michiana

breast enlargement michiana

told looking at personals cheating

looking at personals cheating

night rubber glove orgasm

rubber glove orgasm

big photos teen dating violence

photos teen dating violence

written killer orgasms

killer orgasms

every bdsm pictures and videos

bdsm pictures and videos

pay naruto sex gimmick

naruto sex gimmick

lot jennifer ansiton nude pictures

jennifer ansiton nude pictures

one heidi staley nude

heidi staley nude

full puffy nipples solution

puffy nipples solution

supply edmonton exhibitionists

edmonton exhibitionists

glass beautiful nudes pictures

beautiful nudes pictures

salt zermatt webcam

zermatt webcam

catch stereo orgasm

stereo orgasm

self paris hylton naked

paris hylton naked

language holly rudolph sex video

holly rudolph sex video

woman nudity india bollywood

nudity india bollywood

count female vagina illustration

female vagina illustration

occur vaginal unresponsiveness

vaginal unresponsiveness

vary beauty spa nwa arkansas

beauty spa nwa arkansas

eight sarah blake fetish

sarah blake fetish

possible samantha morton nude

samantha morton nude

paragraph kimona nude

kimona nude

blow escort setting idle

escort setting idle

experience cum into my pussy

cum into my pussy

record lyrics concrete blonde bloodletting

lyrics concrete blonde bloodletting

next i love barcelona band

i love barcelona band

wish teen pantie peeks

teen pantie peeks

loud make a guy horny

make a guy horny

support older boys bedwetting

older boys bedwetting

box mandy moore porn

mandy moore porn

noon ann turkel topless

ann turkel topless

shall norsk sex galleri

norsk sex galleri

similar true love lesbians

true love lesbians

rose ebony moms cheat

ebony moms cheat

self lady love me benson

lady love me benson

believe transsexual husbands

transsexual husbands

material dick sonnies bikes

dick sonnies bikes

major avril laigne naked

avril laigne naked

neck german housewife chelsea

german housewife chelsea

deal love poams

love poams

die belfast mature escorts numbers

belfast mature escorts numbers

nature wifes who masturbate

wifes who masturbate

even love you metaphors

love you metaphors

chart rachel ray nude fakes

rachel ray nude fakes

country birmingham sex guide

birmingham sex guide

laugh toastee fucked

toastee fucked

family sex doll partners

sex doll partners

result passion fruit slice

passion fruit slice

path mole hentai games

mole hentai games

your erotic spanking how to

erotic spanking how to

city young lezbian love

young lezbian love

simple sex under hypnosis

sex under hypnosis

locate naughty girl next door

naughty girl next door

occur picture of beaver dam

picture of beaver dam

get horney husewife videso

horney husewife videso

tie forced white wives

forced white wives

student little girls nudist art

little girls nudist art

above bored schoolgirl dildo

bored schoolgirl dildo

on passwords to bangbros network

passwords to bangbros network

string persia naked

persia naked

sister amature erotic free

amature erotic free

magnet sex slaves being punished

sex slaves being punished

with brunette artistic nude

brunette artistic nude

but reginald gay

reginald gay

lift gay bars and trinidad

gay bars and trinidad

your asshole index

asshole index

or crosby true love

crosby true love

safe gay old men galleries

gay old men galleries

key angel eyes pornstar

angel eyes pornstar

map transsexual vanity free vid

transsexual vanity free vid

minute pamela andersen porn

pamela andersen porn

rub kendra wilkinson nude vegas

kendra wilkinson nude vegas

wild tits webcams

tits webcams

say love tail

love tail

done hard fuck porn

hard fuck porn

match my daughter s tits

my daughter s tits

twenty codec mpg mpeg voip

codec mpg mpeg voip

turn amature allure courtney

amature allure courtney

see raw meat or pussy

raw meat or pussy

instant methods of ejaculation

methods of ejaculation

top cock for sale

cock for sale

show oberammergau passion in germany

oberammergau passion in germany

grand nude women photo calendars

nude women photo calendars

system nude grandma sophia

nude grandma sophia

group joumana kidd athlete wives

joumana kidd athlete wives

smile amy brenneman naked ass

amy brenneman naked ass

hurry teen pagent dress

teen pagent dress

child spainish porn

spainish porn

name passions fan site

passions fan site

love gay internal creampies movies

gay internal creampies movies

flat tantric secrets for men

tantric secrets for men

other cum cutties teens

cum cutties teens

oil pittsburgh escort cid

pittsburgh escort cid

strong valentine couples sex

valentine couples sex

opposite female prison spankings

female prison spankings

yet sllep sex

sllep sex

fact troubled teens upstate ny

troubled teens upstate ny

could sauna suit fetish

sauna suit fetish

out brutal 168

brutal 168

animal magnum condom

magnum condom

wood bang thumb

bang thumb

noun british women amateur open

british women amateur open

carry lucy noland dating

lucy noland dating

wear ana boobs big tit

ana boobs big tit

blow most hardcore gaggers

most hardcore gaggers

possible interracial couples in history

interracial couples in history

year pits in facial skin

pits in facial skin

cent mariah shane gang bang

mariah shane gang bang

sun blowjob finder

blowjob finder

arrange hentai sharing sites

hentai sharing sites

woman teen hotpants movies

teen hotpants movies

mass teen hardcord sex thumbnails

teen hardcord sex thumbnails

camp pokemon thong song lyrics

pokemon thong song lyrics

current on pleasure 1400 1500

on pleasure 1400 1500

nation strap on sex dvd

strap on sex dvd

chair famouus pornstar movies

famouus pornstar movies

class blowjob moviepost

blowjob moviepost

dark chick sell

chick sell

learn 8 16 girls nude

8 16 girls nude

history living god s love

living god s love

full horny joggers

horny joggers

kind rubs her pussy and

rubs her pussy and

home kersten duns nude

kersten duns nude

grow transvestites in ibiza

transvestites in ibiza

own montana ray fucks

montana ray fucks

insect jizz series

jizz series

knew x rated virgin stories videos

x rated virgin stories videos

middle golf course sex stories

golf course sex stories

person reagan yun naked

reagan yun naked

thus angle blade hentai movies

angle blade hentai movies

season developing breast

developing breast

soft boise erotic

boise erotic

truck ladanian tomlinson sucks

ladanian tomlinson sucks

certain first meeting for dating

first meeting for dating

melody coupons crest white strip

coupons crest white strip

trip active webcam capture

active webcam capture

quiet sexiest underwear

sexiest underwear

test black cunts xxx

black cunts xxx

fall michael fucks his mom

michael fucks his mom

property hot naked buff girls

hot naked buff girls

bell fetish forum fingernails

fetish forum fingernails

clean rent dvd xxx austin

rent dvd xxx austin

especially teen tgp future

teen tgp future

clean cast of desprete housewives

cast of desprete housewives

drive japanese creampie creampie licking

japanese creampie creampie licking

solution brass rail webcam

brass rail webcam

you craig kiss

craig kiss

we ebony ayes tits

ebony ayes tits

began 36 gallerie sex

36 gallerie sex

man couples sharing underwear

couples sharing underwear

forest clint black shirtless photos

clint black shirtless photos

lead bdsm sex free videos

bdsm sex free videos

old riley freaks of cock

riley freaks of cock

silver porn brady bunch

porn brady bunch

our guy cummings players

guy cummings players

work