diff --git a/security_review.inc b/security_review.inc
index 91d4ce4..64099a2 100644
--- a/security_review.inc
+++ b/security_review.inc
@@ -100,54 +100,56 @@ function _security_review_security_checks() {
   $checks['file_perms'] = array(
     'title' => t('File system permissions'),
     'callback' => 'security_review_check_file_perms',
-    'success' => t('Drupal installation files and directories (except required) are not writable by the server.'),
-    'failure' => t('Some files and directories in your install are writable by the server.'),
+    'success' => t('Drupal installation files and directories (except required for file cache) are not writable by the server.'),
+    'failure' => t('Some files and directories in your install are writable by the server. See https://drupal.org/node/244924'),
   );
+  $dangerous_tags = 'Dangerous tags are defined as: applet, area, base, basefont, body, button, embed, form, frame, frameset, head, html, iframe, img, input, isindex, label, link, map, meta, noframes, noscript, object, optgroup, option, param, script, select, style, table, td, textarea, title, & tr';
   $checks['input_formats'] = array(
     'title' => t('Text formats'),
     'callback' => 'security_review_check_input_formats',
     'success' => t('Untrusted users are not allowed to input dangerous HTML tags.'),
-    'failure' => t('Untrusted users are allowed to input dangerous HTML tags.'),
+    'failure' => t('Untrusted users are allowed to input dangerous HTML tags.) . ' ' . $dangerous_tags,
   );
   $checks['field'] = array(
     'title' => t('Content'),
     'callback' => 'security_review_check_field',
     'success' => t('Dangerous tags were not found in any submitted content (fields).'),
-    'failure' => t('Dangerous tags were found in submitted content (fields).'),
+    'failure' => t('Dangerous tags were found in submitted content (fields).') . ' ' . $dangerous_tags,
   );
   $checks['error_reporting'] = array(
     'title' => t('Error reporting'),
     'callback' => 'security_review_check_error_reporting',
     'success' => t('Error reporting set to log only.'),
-    'failure' => t('Errors are written to the screen.'),
+    'failure' => t('Errors are written to the screen. Change this in Logging and errors' . ' ' . 'admin/config/development/logging'),
   );
   $checks['private_files'] = array(
     'title' => t('Private files'),
     'callback' => 'security_review_check_private_files',
     'success' => t('Private files directory is outside the web server root.'),
-    'failure' => t('Private files is enabled but the specified directory is not secure outside the web server root.'),
+    'failure' => t('Private files is enabled but the specified directory is not secure outside the web server root. See https://drupal.org/documentation/modules/file'),
   );
+  $block_brute_force_message = t('Consider blocking this IP within your webserer or with one of these modules https://drupal.org/node/599512');
   // Checks dependent on dblog.
   if (module_exists('dblog')) {
     $checks['query_errors'] = array(
       'title' => t('Database errors'),
       'callback' => 'security_review_check_query_errors',
       'success' => t('Few query errors from the same IP.'),
-      'failure' => t('Query errors from the same IP. These may be a SQL injection attack or an attempt at information disclosure.'),
+      'failure' => t('Query errors from the same IP. These may be a SQL injection attack or an attempt at information disclosure.') . ' ' . $block_brute_force_message,
     );
 
     $checks['failed_logins'] = array(
       'title' => t('Failed logins'),
       'callback' => 'security_review_check_failed_logins',
       'success' => t('Few failed login attempts from the same IP.'),
-      'failure' => t('Failed login attempts from the same IP. These may be a brute-force attack to gain access to your site.'),
+      'failure' => t('Failed login attempts from the same IP. These may be a brute-force attack to gain access to your site.') . ' ' . $block_brute_force_message,
     );
   }
   $checks['upload_extensions'] = array(
     'title' => t('Allowed upload extensions'),
     'callback' => 'security_review_check_upload_extensions',
     'success' => t('Only safe extensions are allowed for uploaded files and images.'),
-    'failure' => t('Unsafe file extensions are allowed in uploads.'),
+    'failure' => t('Unsafe file extensions are allowed in uploads. Unsafe extensions include: swf, exe, html, htm, php, phtml, , js, vb, vbe & vbs'),
   );
   $checks['admin_permissions'] = array(
     'title' => t('Drupal permissions'),
@@ -167,26 +169,26 @@ function _security_review_security_checks() {
       'title' => t('PHP access'),
       'callback' => 'security_review_check_php_filter',
       'success' => t('Untrusted users do not have access to use the PHP input format.'),
-      'failure' => t('Untrusted users have access to use the PHP input format.'),
+      'failure' => t('Untrusted users have access to use the PHP input format. Disable PHP formatting & enable the Paranoia module for hightened security.'),
     );
   }
   $checks['executable_php'] = array(
     'title' => t('Executable PHP'),
     'callback' => 'security_review_check_executable_php',
     'success' => t('PHP files in the Drupal files directory cannot be executed.'),
-    'failure' => t('PHP files in the Drupal files directory can be executed.'),
+    'failure' => t('PHP files in the Drupal files directory can be executed. Drupal default .htacces files permissions are not working.'),
   );
   $checks['base_url_set'] = array(
     'title' => t('Drupal base URL'),
     'callback' => 'security_review_check_base_url',
     'success' => t('Base URL is set in settings.php.'),
-    'failure' => t('Base URL is not set in settings.php.'),
+    'failure' => t('Base URL is not set in settings.php. Add explicit definition of $base_url in the settings.php to ensure that this cannot be forged.'),
   );
   $checks['temporary_files'] = array(
     'title' => t('Temporary files'),
     'callback' => 'security_review_check_temporary_files',
     'success' => t('No sensitive temporary files were found.'),
-    'failure' => t('Sensitive temporary files were found on your files system.'),
+    'failure' => t('Sensitive temporary files were found on your files system.  Files with default temp extensions like *.sw, *.bak, *.orig & *.save could be visible via your web server.'),
   );
 
   return array('security_review' => $checks);
@@ -200,7 +202,7 @@ function views_security_checks() {
     'title' => t('Views access'),
     'callback' => 'security_review_check_views_access',
     'success' => t('Views are access controlled.'),
-    'failure' => t('There are Views that do not provide any access checks.'),
+    'failure' => t('There are Views that do not provide any access checks. Ensure all your enabled views have defined permissions admin/structure/views'),
     'module' => 'security_review',
     // Specify this file because the callback is here.
     'file' => 'security_review',
@@ -230,17 +232,19 @@ function security_review_check_file_perms() {
   // Assume it doesn't work.
   $create_status = $append_status = FALSE;
 
+  $append_message = t("Your web server should not be able to write to your modules directory. This is a security vulnerable. Run the following command from your Drupal root directory: chmod -R 644 sites/all/ sites/default/modules";
+
   $directory = drupal_get_path('module', 'security_review');
   // Write a file with the timestamp
   $file = './' . $directory . '/file_write_test.' . date('Ymdhis');
   if ($file_create = @fopen($file, 'w')) {
-    $create_status = fwrite($file_create, t("This is a vulnerable directory.\n"));
+    $create_status = fwrite($file_create, date('Ymdhis') . ' - ' . $append_message . "\n"));
     fclose($file_create);
   }
   // Try to append to our IGNOREME file.
   $file = './'. $directory . '/IGNOREME.txt';
   if ($file_append = @fopen($file, 'a')) {
-    $append_status = fwrite($file_append, date('Ymdhis') . "\n");
+    $append_status = fwrite($file_append, date('Ymdhis') . ' - ' . $append_message . "\n");
     fclose($file_append);
   }
 
