Tips & Tricks
WordPress Security Hacks
Hi guys this is my first post on wpcult the great site Austin built. Hope you guys find it usefull.
If you run a blog using the wordpress software then your blog is a target to hackers. Below I will list some hacks and just how they can help you keep your business/site safe.
The following is code to Block Bad Queries and protect your blog from malicious URL Requests.
Place the following code into a text file and name it what ever you like for example blockbadqueries.php upload it to your plugin folder and activate it in your wordpress admin just as you would any other Plugin
<?php
/*
Plugin Name: Block Bad Queries
Plugin URI: http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
Description: Protect WordPress Against Malicious URL Requests
Author URI: http://perishablepress.com/
Author: Perishable Press
Version: 1.0
*/
global $user_ID; if($user_ID) {
if(!current_user_can(‘level_10’)) {
if (strlen($_SERVER[‘REQUEST_URI’]) > 255 ||
strpos($_SERVER[‘REQUEST_URI’], “eval(“) ||
strpos($_SERVER[‘REQUEST_URI’], “CONCAT”) ||
strpos($_SERVER[‘REQUEST_URI’], “UNION+SELECT”) ||
strpos($_SERVER[‘REQUEST_URI’], “base64”)) {
@header(“HTTP/1.1 414 Request-URI Too Long”);
@header(“Status: 414 Request-URI Too Long”);
@header(“Connection: Close”);
@exit;
}
}
}
?>
This Great plugin was made by Jeff Starr of Digging into WordPress
Protecting your blog with .htaccess
.htaccess files have lots of possibilities. below is some code that will help protect your wordpress from modification of _REQUEST and/or GLOBALS and scripts injection.
This is real simple just paste the following code into your .htaccess file. Always make a backup of your .htaccess before editing, better to be safe.
Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L]
Thanks to Oussama for this great hack
Tips & Tricks
Can′t add pagination on WooThemes Thick Theme
Everything I have tried has led to nothing. And I have tried six way’s from Sunday to get my main posts to paginate.
example one:
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts('offset=1&showposts=' . get_option('woo_other_entries') . '&cat=-' . $GLOBALS['ex_asides'] . '&paged=$paged' ); ?>
example two:
<?php global $myOffset; global $wp_query; $myOffset = 1; $paged = intval(get_query_var('paged')) ? get_query_var('paged') : 1; $temp = $wp_query; $wp_query= null; $wp_query = new WP_Query(); $wp_query->query(array( 'offset' => $myOffset, 'category__not_in' => array($GLOBALS['ex_asides'],7,84), 'paged' => $paged, 'showposts' => get_option('woo_other_entries'), )); ?>
example three:
<?php global $myOffset; $myOffset = 1; $wp_query = new WP_Query(); $wp_query->query(array( 'offset' => $myOffset, 'category__not_in' => array($GLOBALS['ex_asides'],7,84), 'paged' => $paged, 'showposts' => get_option('woo_other_entries'), )); ?>
And after those tries, I just can’t get more pages beyond the option’s that I choose, and can only pull an archive via the browse more link.
Any suggestions or anything?
Tips & Tricks
Pulling custom fields from outside the loop
In the last post “Creating a custom widget” I showed you how to create a custom widget. Well in this post I will show you how I used my custom widget to display all post with a certain custom field from outside the WordPress loop.
In the last post I used this tag:
<?php include(TEMPLATEPATH . '/includes/showcase.php'); ?>
Now I will show you what the file showcase.php
has:
<ul> <?php global $wpdb; $sql = "SELECT wposts.* FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wpostmeta.meta_key = 'gallery-url' AND wposts.post_status = 'publish' AND wposts.post_type = 'post' ORDER BY wposts.post_date DESC LIMIT 8"; $pageposts = $wpdb->get_results($sql, OBJECT); $output = $pre_HTML; foreach ($pageposts as $post) : setup_postdata($post); ?> <li><a href="<?php echo get_post_meta($post->ID, "gallery-url", $single = true); ?>" title="Link to <?php the_title(); ?>"> <img src="<?php echo get_post_meta($post->ID, "image", $single = true); ?>" alt="<?php the_title(); ?>" /></a></li> <?php endforeach; ?> </ul>
That’s it! The most important item you may want to change for your own custom field is the line : AND wpostmeta.meta_key = 'gallery-url'
. Where you would change the text in bold to match your own custom field value.
Update:
Check out Austin from PressedWords comment below.
With his great advise I was able to figure out why all my attempts to use the query_post weren’t working. it came down to this line of code: <?php echo get_post_meta($post->ID, "gallery-url", $single = true); ?>
, that was what I had in my code, and the $post->ID
is the reason my code would not echo or print the custom field’s value. Solution? replace $post->ID
with get_the_ID()
. HA, so simple.
Tips & Tricks
Creating a custom widget
Today let’s learn a simple quick trick on how to create a custom widget. For my example I will show you how I created my Showcase widget located in the middle, to the right of the posts.
First under your functions.php
file type in the following:
<?php // Custom Widget function MyCustomWidget() { ?> <li class="widget"> <h2 class="heading">Latest Showcase</h2> <ul> <?php include(TEMPLATEPATH . '/includes/showcase.php'); ?> </ul> </li> <?php } register_sidebar_widget('The Custom Widget for Showcase', 'MyCustomWidget'); ?>
- Always make sure your code is between the
<?php
and?>
for it to work. - Once we call the function, the rest is assuming html code that you may or may not need.
- For instance, you may just put in a picture and call it a day. But my code starts with
<li<
because my sidebar’s start and end with<ul<
. - Any way, once your done, just set the final “
register_sidebar_widget('the widget title', 'the name of the function');
“
That’s it! Now you have a custom widget with what ever you want!
-
Pages5 months ago
Write For Us – Guest Post
-
Showcase3 hours ago
StylizedWeb.com
-
News5 months ago
How to: Show/Hide any div box with jQuery in WordPress
-
Tips & Tricks4 months ago
Remove the title attribute using jQuery
-
Tips & Tricks1 month ago
How to: show/hide a widget in WordPress with jQuery
-
Plugins1 month ago
Top Membership plugins
-
Tips & Tricks5 months ago
Limit the characters that display on the_title
-
Tips & Tricks3 months ago
Remove spaces when echoing the_title
Wordpress Designer
June 21, 2011 at 5:52 pm
I was a victim few months back on one of my sites…. but later discovered that reasons were more about me and not WP… anyways nice info… Hail Open Source, long live WP….!
Bartending Jobs
June 24, 2011 at 4:48 pm
Congrats on your first post!
nik@technojourney
June 27, 2011 at 11:26 am
I love to read the articles on wpcult… but don’t like it when some others write it instead of admin…
bebek
July 4, 2011 at 12:49 am
wordpress is a safe script anyway. But your codes will be improve this. Thanks i will use .
passdrugtest
July 10, 2011 at 11:40 pm
Good post .keep continue your post .i like your writing style.thanks for sharing.
pubs in bolton
July 12, 2011 at 4:16 pm
Nice article great first post, Very informative and congrats on becoming the new site owner.
Jorge
July 14, 2011 at 3:27 pm
This article is of 2010 and all the information is valid in 2011, you got a really nice blog and I’ll bookmark it to read all the articles.
Toilet
July 25, 2011 at 4:00 am
That’s a very bad news that my wordpress blog is at risk of being hacked:/. You are doing a great job by informing us about such danger.
sheric
July 25, 2011 at 7:33 am
Thank you very interesting.
Ashley
August 2, 2011 at 4:35 pm
Thanks for the code. I have been looking for something to block bad queries and protect my blogs from malicious URL requests.
Dell Parts
August 2, 2011 at 9:22 pm
Good research Miguel
great work you have done
bhayden96@bestmassagechair
August 5, 2011 at 3:18 am
Greatttttt!what a blog,man.i found it really interesting and i am going to bookmark this..Don’t quit posting ,you are a writer…..:-)
موقع زواج
August 7, 2011 at 7:34 am
good words
thank you
Wordpress Plugins
August 8, 2011 at 4:16 am
This post provides best security for my WordPress Plugin to avoid the hacking.. I am just using this code right now..
Leonardo Casci
August 9, 2011 at 4:08 am
great article, you should write more often! keep it up
business cartoon
August 18, 2011 at 9:34 pm
I m fully satisfied with the post that how to remove the hacking or not to hacking the word press because it results in a negative effect.we will be careful about that.
Stock Market Blog
August 21, 2011 at 9:39 am
When I had my hosting company, one of my client’s blogs kept getting hacked. I fixed it a half a dozen times before told him that he has to fix his own issues – pointed him to posts like this around the internet.
Good stuff!
Raief
August 24, 2011 at 1:19 am
Always looking for security info. This is still up-to-date.
Much appreciated, bookmarked, rt’d, fb’d, and dugg.
Hello Kitty Shop
August 26, 2011 at 5:45 am
Yes, website Security is very important, and i have a wordpress blog too, thanks for the post.
Michael Dorf
September 2, 2011 at 10:53 pm
Nice first post! I’ve used Block Bad Queries in a couple of blogs and it worked exceptionally well. I like plugins that require minimal configuration! Thanks!
West Africa Gold Exploration
September 7, 2011 at 4:31 pm
Its been a while since i read such a nice article just like this.
Painting Antique Furniture
September 7, 2011 at 4:35 pm
Interesting Article. great job for the this site.
windows addict
September 10, 2011 at 1:30 am
This is very interesting, You’re a very skilled blogger. I have joined your rss feed and look forward to seeking more of your great post. Also, I have shared your site in my social networks!
max
September 21, 2011 at 4:38 am
Really good article, good to know about these security issues with my blog.
casey dennison
September 21, 2011 at 4:32 pm
Thanks this is very useful. I will use this for all of my blogs.
Joe
September 24, 2011 at 3:28 am
thanks for sharing!!! 😀
sporting goods
October 11, 2011 at 5:38 pm
Nice code. I will try it.
buy cheap backlinks
October 11, 2011 at 10:23 pm
Great article. It is always good to add in extra layers of safety, especially when it comes to protecting your business or name.
Singles Holidays
October 13, 2011 at 2:39 am
I am an electrical & electronics engineer, and i am thinking about joining APPIN institute of ethical hacking & IT security bcoz I am interested in this field, so will there be better career options for me in this field after having an international diploma certification in ethical hacking?
Stuart
October 17, 2011 at 5:30 am
Great post, and hope you keep writing for the site. We are moving our site to WordPress so will be implementing these tips to keep it secure.
David Josh
October 18, 2011 at 10:21 pm
Thank you for the code, I was looking for something like this for long, my website has been hacked once and I needed something urgently to safe guard, shall try this. Thanks !
Rob Benwell
October 19, 2011 at 3:33 am
Thank you for sharing this tool. Now I know that I’m in a safe hand. More Power!
Rob Benwell
Bryan McKenzie
October 23, 2011 at 12:00 pm
This has happened to me once before. Thanks for sharing this information, it’s always good to be cautious about these things and keep our websites protected. For a lot of people it’s their livelihood!
Kredit
October 24, 2011 at 5:19 am
Hey, thanks for the good tips. Am always in search of good safety information for WordPress. They are easy to implement even for beginners.
yonobae
October 25, 2011 at 8:34 am
Your postings are really very informative, that’s why I can’t help myself but come back and see what you posted again for me to gain knowledge. Thank you.
S3bY
October 26, 2011 at 5:30 am
I was hacked one and since than I started paying more attention to security!
So thank for this post..I will implement it right away!
soniya
October 26, 2011 at 11:29 pm
very informative thanks lotttt
Seo
October 28, 2011 at 2:13 am
This is great post,very useful! I think i will improve my website security…
albert @ fantasy stock market
October 30, 2011 at 3:03 pm
Thanks for the great info on protecting my blog!
Grid
October 30, 2011 at 8:59 pm
I think i have to improve my web security ASAP.
gender predictor
October 31, 2011 at 11:14 pm
thanks for sharing the article, this is very useful for us