Icon Web Designs - Omaha Small Business sites, Joomla Development, and NitroSell Templates

Problem: The default admin user account is not secure.

Why is this? First, the accounts username is always "admin" to start with. Now it is simple enough to change the username in the User Manager, but this is often left unchanged.

Second, the user id number associated with admin account is always "62". Changing this would involve a much more complicated procedure involving the database.

Hackers, armed with the above knowledge they may be able to use SQL injection and to change the password.

Solution: Create a new, more secure admin account and delete the default account.

This tutorial will take you through the essential steps for deleting the default "Admin" account and replace it with one that is more secure.

Note: This procedure in no way guarantees the security of your site. For more information regarding improving the security of your site go to the official Joomla Security Center

Step 1 - Create Your New Administrator Account

Login into the Joomla Administrator site using default Admin and Password

Login under original Admin account

Click "User Manager" on the dashboard. (You can also navigate to the User Manager via the "Site" Menu at the top.)

click on User Manager

The "User Manager" will show all the user accounts of your Joomla site.

Click "New" in the top right corner

Click 'New'

Complete User Details as Shown:

  • Name: Use your regular name if you like.
  • Username: It is best that your username not be the same as your name. Keep it simple but also difficult to guess.
  • New Password + Verify Password: Make it as long and complicated as possible. You might want to use a password generator tool. (Search for the words "Password Generator.")
  • Group: Select "Super Administrator"
  • Block User: Select "no"
  • Receive System E-mails: Select "Yes"
Create new Administrator Account

Click "Save"

Save new user account

You will see your new account in the User Manager.

New admin account will appear in the user manager

Click "Logout" in the top right corner.

Log out of the administrator site

Step 2 - Change Default Admin Account Group

Login using the new admin username and password

Login using the new Admin account credentials

Again, go to "User Manager"

Go to User Manager

Select the default account and click "Edit"

Why not just delete it? Joomla does not allow Super Administrator accounts to be deleted. It's group must first be chanded to "Administrator."

Select the original Admin account and click 'Edit'

Under 'User Details' change the group to "Administrator" and click "Save"

Select 'Administrator' under group and click 'Save'

Step 3 - Delete Default Admin Account

Once the group has been changed to "Administrator" you can now delete the account

Select the original admin account and click 'Delete'

Select original admin account and "Delete"
Published in Blog
Saturday, 01 March 2008 07:36

AgMarketPro.com


Requirements:  Key Tasks:
Technologies Used:
  • Create site that faciliates easy entry of daily market commentaries.
  • Integrates market charts from Third Party provider.
  • Secure access to subscribers.
  • Created custom Template.
  • Consultation with Client.
  • Extensive CSS editing.
  • Joomla CMS
  • HTML-KIT text editor
  • GIMP image editor
Published in Blog
Sunday, 23 December 2007 16:56

MHMeducation.com

Site Requirements
  • Easy to use by visitors
  • Provide online downloads of program applications
  • Easy to update by clients.
  • Rotating Testimonial
  • "Book of the Month"

Key Tasks:

  • Client Collaboration
  • Consulting and Planning
  • Created content structure
  • Designed Logo in Corel Draw 11
  • Designed front page rotating Graphics
  • Provided training

Technologies Used

  • Joomla! CMS (Similiar to Drupal and WordPress)
  • Wide variety of extensions to add to Joomla! functionality.
  • Used Template from Rocketthemes.com
Published in Blog

I'm a big fan of clean code.  If I can re-write some code to do the same thing using half as much code I'm all over it.  Often in Joomla! templates (especially commercial ones) the logic for controlling the module positions just strikes me as cumbersome.

Here is one solution I have written to help manage the code that creates the dynamic layout of Joomla! Using the countModules() method and changing the <body> id tag.

At the top of the template index.php I set the variable $templateLayout to 'Center.' This tells the CSS and the code furthur down the file that only the center div section is to be displayed.

1
2
3
4
5
6
7
8
<?php
$templateLayout = 'Center';
?>
<html>
<head></head>
<body id="<?php echo $templateLayout; ?>">
</body>
</html>

So our key variable is $templateLayout.  It's value will determine the type of layout assigned to the body id.

Now we need to add some logic statements to change $templateLayout in the event modules exist in the left or right positions:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$templateLayout = 'Center';
//Adds 'Left' to the front of the $templateLayout
  if ($this->countModules( 'left' )){
	$templateLayout = "Left".$templateLayout;
  }
//Adds 'Right' to the end of the $templateLayout
  if ($this->countModules( 'right' )){
	$templateLayout = $templateLayout."Right";
  }
?>
<html>
<head></head>
<body id="<?php echo $templateLayout; ?>">
</body>
</html>

So now the $templateLayout variable has 4 different possibilities: 'Center', 'LeftCenter', 'CenterRight', or 'LeftCenterRight.'

Using this you can can modify the CSS Layout accordingly:

1
2
3
4
5
6
7
8
9
10
11
12
/*Left and Right Divs are not displayed*/
body#Center div#center{width:100px}
 
/*left or right and Center are displayed*/
body#LeftCenter div#center{width:777px}
body#LeftCenter div#left,
body#CenterRight div#right{width:333px}
 
/*left, Right and Center are displayed*/
body#LeftCenterRight div#left{width:250px}
body#LeftCenterRight div#center{width:500px}
body#leftCenterRight div#right{width:250px}

It is important to filter out the left and/or right div elements when they are not needed. So additional logic is needed in the body of the document.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php if (substr($templateLayout,0,4)=='Left') : ?> 
<div id='leftColumn'>
<jdoc:include type="modules" name="left" style="xhtml" />
</div>
<?php endif; ?>
 
<div id='content'>
<jdoc:include type="component" />
</div>
<?php if (substr($templateLayout,-5,5)=='Right') : ?>
<div id='rightColumn'>
<jdoc:include type="modules" name="right" style='xhtml' />
</div>
<?php endif; ?>

Again using $templateLayout I again applied some logic statements. Using the substr() PHP function, if "TRUE" is returned when looking for "Left" and/or "Right" in the $templateLayout variable, the the coinciding column is rendered.

Published in Blog