Category: CleanTalk

  • Changes in the logic for the spam_check API

    We plan to launch API logic changes for the method “spam_check“. Parameter Appears will be modified.

    Parameter Appears — shows presence of record in the CleanTalk Blacklist Database.

    How it works right now — “appears”:1 returns in cases when spam activity was registered 3 and more times no matter when it happened even if this activity was a year or more back. It raised questions from our clients: why the method returns 1 when the CleanTalk website shows “Not in list” status?

    How it will be — “appears”:1 will be displayed only when a record has “blacklisted” status in the CleanTalk Blacklist Database, and will match its status on the website. If it is necessary for you to get information as it was before, that is based on the parameter “frequency” = 3 and higher, it still shows spam activity independently from time.

    Changes will be launched on Nov 6, 2017.

    If you have any questions then, please, contact us and we will gladly assist you.

  • ‘WordPress Security by CleanTalk’ Review– Is it Potent Enough to Safeguard you?

    ‘WordPress Security by CleanTalk’ Review– Is it Potent Enough to Safeguard you?

    WordPress is a very popular open source website creation tool. But this is not only a blogging platform, WordPress is an open source content management system used by millions of people worldwide. It is popular mainly because WordPress is very easy to use and easy to start with. Also, very good support from WordPress itself and different forums are available. According to a research, more than 22.5% of the websites are powered by WordPress in 2017.

    Due to its huge popularity and continuous growth as the world’s most used CMS, WordPress is naturally vulnerable to security threats and attacks. WordPress security attacks from the very beginning are handles by WordPress security releases. But there is new type of attacks is coming in the picture every day and everything does not come under WordPress Security Release. Here comes the WordPress Security Plugins.

    WordPress Security by CleanTalk is one of the most important security plugins which helps your WordPress site protected and secured from the Brute Force attacks by creating a firewall. Check out what kind of attacks your website may face and how can you secure yourself from these attacks:

    Why does a WordPress site is attacked anyway?Why does a WordPress site is attacked anyway?

    There is a cut-throat competition in the market in any venture and everyone wants to get the success at the end of the day. Due to the huge pressure, hackers want to access your website to get all the sensitive information, block your access from the site, redirect your users to any other malicious websites, remove or delete your user and all the content from the website or simply use the backlinks from your website. Stealing your backlink information and using it in their website will just improve their page ranks in any search engine.

    Most of the popular websites get thousands of attacks every week or even every day.

    How does a good security plugin work to prevent a different type of attacks on a WordPress site?

    There are several types of security attacks a WordPress website gets every day. A good security plugin applies optimized algorithms to prevent those vulnerabilities and keep the website secure. Following are some form of security threats a WordPress website gets:

    1. Malicious Software: After hitting your website, hackers leave some malicious software or script, also known as malware into your website. Your security plugin should scan all the files, contents, data files, database, changes in the DNS, comments or any kind of post to find out the malicious code that could possibly be hidden in the website’s source code, or URL. These malwares are scanned and removed by the WordPress security plugin.

    2. Brute Force Attacks: This type of attack is performed using permutation and combination of possible login information. Hackers attempt to log in to the website using thousands of possible username and password combination through automated scripts. Security plugins block the users with the attempt of too many login attempts or clicking on forgot password option. It also prevents WordPress from giving sensitive information like username or password hints etc. or multiple entry point options to the hackers.

    3. Zero Day Exploits: There are some obvious vulnerability issues in WordPress websites or any kind of website. Hackers attack those using bots. The security plugins use known algorithms and security firewall for these already published vulnerabilities and stop them.

    4. Spear Phishing and Social Engineering: Spear phishing & social engineering are among some techniques through which hackers can crack the most difficult password too. Security plugins provide a two-factor authentication which can neutralize the risk of password cracking. This facility is used by banks, financial institutions or websites with very sensitive data.

    5. Rate Based Throttling: This type of attack is the most critical type till date. Hackers overwhelm your website, database, servers and network, all resources using bots or automated scripts. This will prevent your genuine customers from accessing your website and search engine crawlers. Also, script crawlers aggressively crawl the website to overwhelm the website contents and resources. Security plugins provide security through IP blocking. If access request exceeds the accepted threshold of a maximum number of requests from any IP address, security plugin blocks that specific IP address. It also prevents the bot crawlers from aggressive crawling.

    6. Country attacks: Hackers using IPs of different countries and networks attack the WordPress websites to find vulnerabilities and overwhelm its resources with aggressive crawling. Security plugins use the same mechanism as rate based throttling, blocks the specific countries from accessing the website.

    7. Password Cracking: Security plugins use password auditing to find out the password of your admin account is weak or strong; suggest changing the password or making a rule to change the password monthly etc. This will prevent attackers to use password cracking or brute force attacking using the similar script.

    8. Spam Ads: Hackers often use the website they have compromised to post spam ads. These ads include a link to some other malicious website or simply a virus to download. Security Plugins scan your site regularly to check if there is any kind of spam ad that has been posted, identify and remove it.

    9. Hacker Reckon: Hackers find vulnerabilities using the information like software version, operating system version, and software installed etc. and security plugin prevents your WordPress website from giving this information anyhow to these hackers.

    What is WordPress Security Plugin by CleanTalk? 

    WordPress Security Plugin by CleanTalk is a premium security plugin for WordPress Site. This is an end to end protection system for a WordPress site which helps to prevent and securing a site from brute force attacks, brute force account counting, blocking IPs and users using a firewall, providing security for WordPress forms and backend filter malicious IPs, networks or countries.

    It also sends daily security logs, audit logs and reports through emails to the users so that user can analyze and monitor vulnerabilities to their WordPress Websites.

    How to Install Security Plugin by CleanTalk?

    Installation of Security Plugin by CleanTalk is very easy both through the automated and manual way. Following are the steps to follow to install WordPress Security by CleanTalk into your WP.

    Automated Installation

    1. Go to ‘Plugin’ option at the left panel of your WordPress and click on it.
    2. Search ‘WordPress Security by CleanTalk’.
    3. It will show the plugin on the page.
    4. Click on ‘Install Now’ button.
    5. Now click on the ‘Activate’ button
    6. Click on ‘Get access key Automatically’
    7. This will take you to the ‘Security Log’ page of the plugin.
    8. Click on ‘Save Changes’ option.

    Manual Installation

    Installation can be done manually too.

    1. You need to go to ‘https://wordpress.org/plugins/security-malware-firewall/#description’ and click on Download button.
    2. Zip file with an Installer will be downloaded. Save the installer and login to your site’s WP Admin.
    3. Click on ‘Add New’ button and then click on ‘Upload Plugin’
    4. Select the Zip file from the Dialog Box and click OK.
    5. The plugin will be installed. Then click on Activate
    6. The rest of the steps are similar.

    Features of WordPress Security Plugin

    Brute force attacks

    Brute force attacks are very different from cracks or in layman words ‘hacks’. Brute force attackers try to login into the WP admin using the easiest method of login, i.e., the username and password. They use permutations and combinations of common and most possible username and password to try logging in until they are successful. The easiest attack is the weakest link and username like ‘admin’ and password like’12456′.

    1. Brute force attacks come from different countries and IPs. If you have single access and IP, it is easy to block all the IPs other than your IP using the .htaccess file. But, if you have multiple users, log in from multiple locations, it is very difficult to identify the IP of the attacker and prevent it.
    2. WordPress Security plugin, blacklists all the IPs and users with too many attempts of login, scripts, failed attempts of forgot passwords. It also prevents WordPress from providing users multiple login points and giving away login information to the hackers. WordPress security plugin blocks or locks out any user who is using an invalid username and password.
    3. It sends email to the user as soon as a brute attack attempt is done. It also shows the attacker’s IP, location, and country through the email.

    Cleantalk Security Log

    Along with the plugin, Cleantalk security log is the additional feature which helps the user keep track on the logs for different events performed on their website.

    The security log consists of Date, Status, IP, Country and other details for the Admin Login for the user’s website for events like Login, Logout, Invalid Username, Invalid Email, Authentication Failed and Invalid Email. Logs can be filtered for different services like Anti- Spam, Hosting Anti-Spam, Database API, Site Security or SSL Certificates.

    Email Notifications

    Email notifications are very important and must have feature for any security firewall to have. Emails are sent to registered admin user’s email whenever an activity is logged in a WordPress site. WordPress Security by Cleantalk sends email for the following activities:

    Admin Login:
    It sends email to the registered admin user’s email so that the user is aware that an admin login has taken place on his website.

    New installation and Signup:

    Cleartalk WordPress Security plugin sends a notification to the user’s email when he installs and signs up for the plugin.

    Access Key:

    Email notification is sent when a user opts to get access key manually.

    Daily Security Report:

    Daily security Report email notification is sent to admin user which includes information about the SITE Time, Username, IP and Country and a number of brute attacks, failed login and authentication failures have taken place.

    CleanTalk Security Firewall

    The WordPress Security plugin security firewall works like a fence against the security attacks to a WordPress website. It uses CleanTalk database of bad IP’s and blocks the vulnerabilities from compromised IP’s. Firewall runs even before other codes run including the WordPress site and this prevents the security threats to attack the WordPress site. The firewall shields the site and blocks the threats even before they appear.

    And provides the WordPress sites security features like

    • Personal Blacklist Management
    • Country and IP blocking
    • Protection from aggressive users and web crawlers

    Traffic Control Analysis

    Traffic analysis is one of the important features for any WordPress website, in terms of security and CPU overloading. From which IP, country and location traffic is coming, the users that are online, who is on your page and how much time they have spent, etc. information is easily provided by the WordPress Security Plugin to the admin user.

    Unlike other plugins, it enables traffic control analysis to all the visitors even if they have not enabled javascript in their browsers. It gives information about visitors on traffic parameters like:

    • Date and Time of the visit to the website
    • Visitor’s spent time on the website
    • Source Country
    • Visitor’s IP Address
    • Browser
    • Operating System and version
    • Type of the visitor – Person, Bot, Search Bot or suspicious bot, script etc.
    • Number of page hits

    Cleartalk Traffic control can block the IP addresses from any country or any network from the interface itself. IP addresses will be automatically blocked by the Traffic Control if they exceed the threshold of the average page visit quantity. This helps the monitoring and blocking of the traffic real time.

    BlackIP Database

    This is the new feature launched by CleanTalk. BlackIP database is the collection of blocked or blacklisted IP addresses. This database helps to analyze which type of IPs, locations or countries from which the most frequent brute attacks come from. You can also manage the blacklisted IPs from your CleanTalk Dashboard-> “Use CleanTalk Database of Dangerous IP Addresses”. If you want to add an exception to your blacklisted IP addresses, you may add any IP to the whitelist IPs and it will not be blocked.

    Generic Tips and Tricks to keep your WordPress website safe:

    Other than using CleanTalk’s WordPress Security plugin and its advanced features, you can use these simple tricks to keep your WordPress website safe and secure all time:

    • Use email for login other than username. Usernames are easy to predict but hackers can’t easily guess any unique email ID. WordPress use unique email Id as login identifier for each user.
    • The default login URL for all the websites are similar. For example: wp-login.PHP, /wp-admin/ etc. You should change them to something your unique and own. This will prevent the hackers to get the admin logged in page’s URL or the dashboard URL.
    • Password of a WordPress site should consist capital letters, small letters, numeric and all type of symbols. Generally, an eight character password is considered as a strong password. Make it 16, it will be stronger and permutation and combination will be difficult.
    • Secure the WP-Admin directory from getting accessed by hackers.
    • SSL should be used to encrypt your sensitive data.
    • If your site has multiple admins, add them carefully after thorough scanning.
    • Admin username should not be kept as “Admin”.
    • Keep backup of your site regularly. You may buy professional services for backup and recovery routine.
    • Protect your wp-config.php file from hackers by keeping it one step higher than the root directory.
    • If you have multiple admin access, just do not allow the dashboard to be edited, by changing it in the wp-config.php file.
    • You should disable the directory listing using .htaccess.
    • Update your plugins and themes regularly.
    • Do not download or install any theme from an unknown site or provider. You do not know what is written in their code.
    • Plugins and WordPress itself should be updated regularly to get all the new security features.
    • Last but not the least, take precaution before installing any plugin. You should check the documentation, ratings, and reviews before installing them and that should be from a trusted source.

    Conclusion

    WordPress Security Plugin by CleanTalk is one of the best world-class security plugins for WordPress which facilitates your WordPress Website an end to end security solution and helps to grow your business without getting the headache of being attacked. CleanTalk’s Security Feature plugin is regularly updated with new features to cope with the new type of attacks and threats and to provide you smooth and flawless security services. Follow the tips and tricks and install a good security plugin will provide all round your WordPress website.

  • CleanTalk Released an Extension for the Protection of OpenCart Against Spam and Spam Bots

    CleanTalk Released an Extension for the Protection of OpenCart Against Spam and Spam Bots

    CleanTalk completed the development extension for the OpenCart, to protect your online store against spam and spambots.

    The anti-spam extension is compatible with OpenCart versions v3.x. and approved on the OpenCart official marketplace.

    This extension allows users to quickly and easily connect to CleanTalk anti-spam service. Its service provides 100% protection from spam bots and provides a simple and convenient commentary/sign-up form for visitors.

    This extension allows protection from automatically distributed spam, as well as from spam bots registrations. The protection method offered by CleanTalk allows users to switch from the methods that trouble the communication (CAPTCHA, question-answer etc.) to a more convenient one.

    CleanTalk saves time and resources spent on moderation and verification of questionable users or comments. Unnoticeable Protection from spam and registration forms, which does not require the visitor to prove who they are, increases the conversion in registration and is not annoying.

    CleanTalk is a cloud service, security module, installed on a website, which sends the behavior parameters of the visitor or spambot. These parameters are estimated, and the service makes a decision – to post a message or to define it as spam and reject.

    On the basis of such checks, the service forms its own list of email addresses used by spambots. Likewise, the registration of visitors is checked. The service adds not only email addresses to the blacklist but also IP addresses and domains of the websites that are promoted through spam mailout. The CleanTalk company developed unique algorithms to assess the behavior of the visitor, and with 100% accuracy, we keep spam messages at bay. All of this happens automatically and requires no action from the administration of the website.

    You can now download CleanTalk Anti-Spam for OpenCart from the official catalog.

    The Company provides automatic spam protection services for popular CMS: WordPress, Joomla, phpBB, Drupal, DataLife Engine, IP Board, vBulletin, MediaWiki, SimpleMachinesForum and API for PHP, Perl, Python, NET.

  • AI will play an increasing role in online security

    AI will play an increasing role in online security

    Neural Networks were introduced as far back as the 40’s of the 20th century and first works about them started in the 50’s. Nowadays this technology is being used in different fields. We believe that the CleanTalk machine teaching technologies of spam detection could be upgraded with the help of Artificial Intelligence and the CleanTalk features could be expanded to define an emotional aspect of a comment.

    Theoretical researches of spam filtering with Neural Networks say that these algorithms could achieve 100% efficiency.

    The CleanTalk Company has started to develop Neural Networks Algorithms for spam presence analysis of comments and messages which could provoke negative effects, rudeness, abuse or fraud in discussions.

    There is a big data safety problem in online security. There are too much data to process anomalies that could be the signs of spambots presence.

    There are about 1.5 millions of requests the CleanTalk Cloud processes every day and each request contains set of about 40 parameters. The Cloud uses them to decide whether a request should be approved or blocked so AI could improve our possibilities in spambot patterns detection.

    We intend to supplement technology of spam protection and moderation with more reliable feature and take into account such things as slang, typos, context and other traits of a visitor behavior.

    About CleanTalk

    CleanTalk is a SaaS spam protection service for Web sites. CleanTalk uses protection methods which are invisible for site visitors. Connecting to the service eliminates needs for CAPTCHA, questions and answers and other methods of protection, complicating the exchange of information on the site. Their solutions are reliable, easy and efficient. The module is completely invisible to the visitors and allows you to permanently abandon the ways of protection that impede the communication of visitors to the site (CAPTCHA, question-answer, etc.). CleanTalk allows you to automate protection against distributed from spam and registration spam bots.

    The CleanTalk team has been developing a cloud spam protection system for 5 years and has created a truly reliable anti-spam service designed for you to ensure your safety.

  • Strengthening brute force protection

    We added the new logic to prevent brute force attacks. Service will check your log in status once per hour and if some IP’s have 10 and more attempts to log in, then these IP’s will be banned for next 24 hours.

    It makes the brute force protection tougher and doesn’t waste the server’s resources on these IP’s.

    Download Security & Firewall by CleanTalk.

  • Compass Pool Centre Newcastle New Website Project 2016

    Old Website Needing to Be Rebuilt

    Compass Pool Centre Newcastle is an authorised Compass Pools Australia dealership based in Newcastle. We deliver high quality fibreglass swimming pools throughout the Newcastle and Hunter region in NSW, Australia. Thanks to hundreds of satisfied customers, we have had a lot of new leads each month. However, to reach more people interested in buying a swimming pool, we needed to improve our online presence.

    The old website was being used for several years and was not really updated. Thus, some of the information were outdated and other missing. The website did not feature enough content and because of this, we could not aim at higher positions in search engines’ search results pages. It needed a visual redesign, structural change, and technical modernisation to keep pace with current website development trends and industry best-practices.

    New Project Starting in April 2016

    In April 2016, the new website project started. Catnapweb.com.au was selected as the contractor for developing the new website. They have worked with Compass Pools Australia on several projects since December 2015 and thanks to this, they knew the environment and Compass products well and could build the new website including content and optimisation for search engines.

    In May 2016, the new website was launched on the compassnewcastle.com.au domain. It featured a completely new design, a lot of fresh content, and it was optimised for mobile devices and search engines. Within the new website, a lot of content is dedicated to precisely describe pool shapes and parameters unique to Compass pools, technologies that help customers enjoy Compass pool without the need of everyday care and show pool installation pictures as the inspiration for new customers. There are numerous unique features on the website. For example, each pool shape can be rotated in 3D by the website visitor, thus enabling exploring the pool from all sides. The shape page also features description of the shape, table with available sizes and nice photo gallery with selected installations of the pool shape.

    Unique Content on the Website

    The website features a lot of new content including secret weapons distinguishing Compass from other pool manufacturers and Advice section with useful information for all prospective and current pool owners. One of the innovations that were implemented on this website, is a set of Call to Actions. Except of the standard contact form, another chances to interact with the company were created and offered to website visitors. One of them is the page introducing printed version of Pool Magazine. This magazine was created by Compass Pools Australia as a comprehensive material containing the best information about pool ownership. The Pool Buyers Guide, as we call the magazine, has 70 pages full of information on selecting the right pool, costs to buy a pool, pool ownership costs and much more. It has been a great success to get in touch with people through this offer. Because the magazine is sent to everyone for free, many people have requested it since the launch of the new website.

    Also, another new service was added to the website. In 2016, Compass Pools Australia have introduced a new range of complementary products. These can be added to a standard fibreglass swimming pool to create unique, customised fibreglass pools. This concept has been named Customise your pool and we introduced it to the website visitors on a separate page. Here, they can find information about Maxi Rib technology, beach zones, grand entry benches, pool and spa water combos, and various water features.

    Technical Solution

    The new website runs on WordPress, currently the 4.7 version. It is built using The7 universal theme that has probably the most features on today’s theme market and is very flexible and versatile. There were several challenges we needed to go conquer when building the website. One of them was selecting the best solution for generating the 3D rotations. We already had 3D models of all our pools ready, now we needed to add surface material to it and export it to an image sequence usable for 3D rotation. We have spent hours and hours testing different number of pictures in the export, their quality and resolution and dozens of WordPress plugins. Finally, we have found out that the only suitable solution for us is the Smart Product Viewer plugin. We have found a balance between the usability of the rotation and the performance of the website. To optimise the user experience, we did not replace the static 3D pool shape representation located on top of the page, but added the interactive pool rotation to the bottom. With this solution in place, user coming to the website does not need to wait until the rotation is loaded and by the time he comes to this part, it is ready for interaction.

    The website contains several forms that collect information from website visitors. They are built with the use of Gravity Forms and stored in the database. Soon after the launch we realised that we are getting spam request sent through the forms. We discussed possible solutions and wanted to implement captcha to stop spam robots filling in the form details. However, Andrej from Catnapweb.com.au came with a suggestion to use CleanTalk, which was already tested on several other websites by him. This solution, despite being quite new, has many advantages over traditional protection. The main is that it does not require and action from the website user and thus, it does not decrease the conversion rate. After setting it up, we have monitored the weekly reports from CleanTalk to determine, if any real requests were not blocked. After several months of running CleanTalk we can happily confirm that the flasepositive rate is 0 and no real request was blocked by CleanTalk. It is very impressive and everyone is happy with this service.

    After 7 months running, we can see the website has started generating a lot of relevant requests. We have the chance to get in touch with people needing more information about swimming pools and we are happy to assist them in their purchasing a pool decision making process.

  • 29 Steps to audit your Website with your own hands and Top 7 Useful Website Audit Tools

    29 Steps to audit your Website with your own hands and Top 7 Useful Website Audit Tools

    Recently significantly expanded the list of aspects that must be considered when analyzing the quality of the site. First of all, this: mobile website optimization; regional resource optimization; the speed of loading pages and other components.

    We have tried to collect in the article the factors that you can directly affect your website and have not considered external factors such as receiving and quality of backlinks, guest posts, and promotion articles.

    For whom this article:

    • for web designers and developers who want to create sites that are originally optimized for SEO,
    • for owners of Internet resources, who want to understand by yourself SEO to increase search traffic.

    Well-structured check-list will allow producing a thorough website audit and finding out what specific factors are negatively affecting performance, and get technical recommendations that should be applied in further work on the resource.

    SEO audit

    1. Duplicates of pages (carefully look for different ways all the duplicates and work with them using the redirect and closing in robots.txt and using the attribute rel=”canonical”). Possible duplicates – http://www.site.ru/index.php (index.html, default.asp), closing slashes, pagination pages, the session variables in the url, search filters, tags of context and other advertising, etc. Other options for the duplicates: http:// and https://, /cat/dir/ and /dir/cat/, site.com and test.site.com, /session_id=123 and so on.
    1. Check for blank pages (which do not contain content). Blank pages can be:
    • removed,
    • closed from indexing (in file robots.txt, see below),
    • filled with content.
    1. “Endless pages” means such pages, where you can set the parameters to some other number and they will allow you to create an infinite number of duplicates for any page (this is often happen in calendars, pagination, products, etc.)
    1. Robots.txt (in Robots spelled out host, sitemap, closed all the service sections, pages to print, admin panel, test domains, URLs of pages from a previous website management system, etc.). Often, also recommend closing: the user profiles, page of creation new topic on forum, login page, personal account, personal messages page, search result page, shopping cart of online store.
    1. Check for redirects on the website (if there are superfluous that need to be removed). Types of redirects:
    • 301 — requested document permanently moved to new URL
    • 302 — the requested documents are temporarily available at another URL.
    1. Sitemap XML. In sitemap no service page and banned by the file robots and meta-tag robots.
    1. Is specified encoding in the code.
    1. Check the presence and the uniqueness of the tags title, description, keywords on every page (all these elements must be different for each page). Are there any missing Titles, meta description, keywords. How much Titles and Description are attractive for clicks.
    1. Try to add the title tag all the keywords, most popular keyword should be closer to the beginning of the tag.
    1. Use the symbol “|” to separate the different phrases in the tag title (for example, name of the page and site).
    1. The tag description does not affect the ranking of a website directly, but search engines may use the content for the snippet of a website in the results. The description length can be from 100 to 250 characters, ideally 155 characters. It is usually one or two meaningful sentences to describe the page, including search queries.
    1. Analysis optimized images on the website. To learn about how to optimize images, it is possible in the help section of Google.
    1. Failure rate (viewing one page), in which pages are many failures, make a list, fill them better.
    1. What are the main points of entry and exit of the site (better to study the content and usability of the main entry points, to analyze where and why they go).
    1. How many pages the average user views (maybe add interesting blocks on the page, “see also”, etc.).
    1. Add the favicon of the site.
    1. Styles and scripts should be loaded in head as separate files.
    1. The page can have only one header h1. The h1 heading should not copy title. Title was created to describe the page, not part of the content of the page. H1 describes the whole page, but h1 only certain content. They carry different meaning, which may coincide.
    1. The attributes alt and title for images should be different. Alt is alternative text for the image if it is not loaded. Title is the title of the picture that POPs up when you hover over the picture and goes in search.
    1. Use HTTPS. Google representatives say that the transition of the site on the HTTPS Protocol – with the addition of 2048-bit SSL key – improve your position on the results pages of the search. Google advises web developers to test their sites with HTTPS using the Qualys Lab tool.

    Technical audit of the website

    1. Check the speed of website loading. This is one of the important factors that affect the ranking of a website in search engines. You can check using Google PageSpeed or Google Search Console.

    To check what items take the longest to load and to consider options for optimization.

    https://tools.pingdom.com/
    https://gtmetrix.com/

    1. Check your website on mobile devices. This can be done in Google Search Console.
    1. The presence of errors in Google Search Console->Crawl->Crawl Errors.
    1. For some sites it makes sense to check the load testing by service http://loadimpact.com/ (free test the behavior of the hosting and the site load up to 50 visitors at a time).
    1. Using the Gzip Test tool, make sure that gzip compression on the server for the website is included.
    1. Check the website for viruses:
    • Norton Safe Web, from Symantec– So, how can you find out if a Web site is a safety risk before you visit it? Norton Safe Web is a new reputation service from Symantec. Our servers analyze Web sites to see how they will affect you and your computer.
    • AVG Online Web Page Scanner – lets you check the safety of individual web pages you are about to visit. LinkScanner will examine the web page in real time to see whether it’s hiding any suspicious downloads.
    1. Checks your web pages for broken links.
      https://validator.w3.org/checklink
      http://www.siteliner.com/ – Find duplicate content, broken links, and more. The free scan is limited to 250 pages.
    1. Checks your Cascading Style Sheets (CSS).
      http://jigsaw.w3.org/css-validator/
    2. Checks HTML for errors or warnings
      https://validator.w3.org/nu/
      http://htmlhelp.com/tools/validator/

    Powerful Website Audit Tools You Should Check

    SEO Site Checkup
    SEO Site Checkup is a free analysis tool that audits the entire website with 45 checks in 6 different categories (common SEO issues, server&security, mobile usability, social media and semantic web). With due consideration of these results, the tool shows up a general score and a number of failed checks.

    Seoptimer
    Seoptimer is a free auditing tool that helps you instantly report critical errors on your website in seconds and recommend what you should do to improve your search rankings.

    SiteAnalyzer
    The tool tests your website’s effectiveness based on 50 parameters, instantly identifies problem areas to fix and shows up all SEO technical mistakes.

    SE Ranking Website Audit
    Not for only identifying website errors at a glance, but also for preparing a list of tasks for website developers, content writers and web designers to prevent from technical issues. It crawls your entire website based on over 70 parameters such as Domain overview, Pages, Meta, Content, Images and Links Analysis, Mobile Optimization, Usability and Technologies.

    Моz Crawl Test
    Moz runs its own site crawler that helps webmasters to check out critical issues, HTTP status codes and other useful data. It also figures out duplicate content, errors in the title tag, server redirects and many other factors that can affect website crawlability.

    SimilarWeb
    With its platform called SimilarWeb, the company uses big data technology for the collection, measurement, analysis and provision data on behavioral patterns and statistics of user engagement of websites and mobile applications. A similar tool Alexa collects statistics from users who have installed a special toolbar. In the case SimilarWeb data comes from their own crawler + data from millions of users with a special toolbar. Is possible to know the list of websites that your visitors have visited with your site. This will allow you to learn more about the interests of the audience and be one step ahead of competitors.

    About the CleanTalk service

    CleanTalk is a cloud service to protect websites from spambots. CleanTalk uses protection methods that are invisible to the visitors of the website. This allows you to abandon the methods of protection that require the user to prove that he is a human (captcha, question-answer etc.).

  • Feature update for spam comment management in WordPress

    Feature update for spam comment management in WordPress

    We launched the update for possibilities to manage spam comments.

    The new option “Smart spam comments filter” divides all spam comments into Automated Spam or Manual Spam.

    For each comment, the service calculates probability — was this spam comment sent automatically or was it sent by a human.

    All automatic spam comments will be deleted permanently without going to the WordPress backend except for comments with Stop-Words. Stop-Word comments will be always stored in the “Pending” folder. Both blocked and banned comments can be seen in the Anti-Spam Log.

    To manage the actions with spam comments, go to the Control Panel, select the website you want to change the actions for and go to “Settings” under the name of the website. On the website settings page, select the desirable item from the “SPAM comment action” menu and click “Save” button at the bottom of the page.

  • New features for spam comments management on WordPress

    New features for spam comments management on WordPress

    For WordPress users of the service, we have added the new possibilities to manage spam comments.
    By default, all spam comments are placed in the spam folder, now you can change the way the plugin deals with spam comments:

    1. Move to Spam Folder. You can prevent the proliferation of spam folder. It can be cleaned automatically using the option “Keep spam comments for 15 days.” Enable this option in the settings of the plugin: WP Dashboard-Settings-Anti-Spam by CleanTalk->

    2. Move to Trash. All spam comments will be placed in the folder “Trash” in the WordPress Comments section except comments with Stop-Words. Stop-Word comments will be always stored in the “Pending” folder.

    3. Ban comments without moving to WordPress Backend. All spam comments will be deleted permanently without going to the WordPress backend except comments with Stop-Words. Stop-Word comments will be always stored in the “Pending” folder. What comments were blocked and banned can be seen in the Anti-Spam Log.

    To manage the actions with spam comments, go to the Control Panel, select the website you want to change the actions for and go to “Settings” under the name of the website. On the website settings page, select the item from the “SPAM comment action:” the necessary settings and click “Save” button at the bottom of the page.

  • Exotic HTTP headers

    Hello! This article will illustrate the result of applying some important and exotic HTTP headers, most of which are related to security.

    X-XSS-Protection

    Attack XSS (cross-site scripting) is a type of attack in which malicious code can be embedded in the target page.
    For example like this:

    <h1>Hello, <script>alert('hacked')</script></h1>

    This type of attacks easy to detect and the browser may handle it: if the source code contains part of the request, it may be a threat.

    And the title X-XSS-Protection manages the behavior of the browser.

    Accepted values:

    • 0 the filter is turned off
    • 1 filter is enabled. If the attack is detected, the browser will remove the malicious code.
    • 1; mode=block. The filter is enabled, but if the attack is detected, the page will not be loaded by the browser.
    • 1; report=http://domain/url. the filter is enabled and the browser will clear the page from malicious code while reporting the attempted attack. Here, we use a function Chromium for reporting violation of content security policy (CSP) to a specific address.

    Create a web server sandbox on node.js to see how it works.

    
    var express = require('express')
    var app = express()
    app.use((req, res) => {
     if (req.query.xss) res.setHeader('X-XSS-Protection', req.query.xss)
    res.send(`<h1>Hello, ${req.query.user || 'anonymous'}</h1>`)
    })
    
    app.listen(1234)
    
    

    I will use Google Chrome 55.

    No title
    http://localhost:1234/?user=%3Cscript%3Ealert(%27hacked%27)%3C/script%3E

    Nothing happens, the browser will successfully block the attack. Chrome, by default, blocks the threat and reported it to the console.

    It even highlights the problem area in the source code.

    X-XSS-Protection: 0

    http://localhost:1234/?user=%3Cscript%3Ealert(%27hacked%27)%3C/script%3E&xss=0

    Oh no!

    X-XSS-Protection: 1

    http://localhost:1234/?user=%3Cscript%3Ealert(%27hacked%27)%3C/script%3E&xss=1

    Page was cleared because of the explicit title.0

    X-XSS-Protection: 1; mode=block

    http://localhost:1234/?user=%3Cscript%3Ealert(%27hacked%27)%3C/script%3E&xss=1;%20mode=block

    In this case, the attack will be prevented by blocking the page load.

    X-XSS-Protection: 1; report=http://localhost:1234/report

    http://localhost:1234/?user=%3Cscript%3Ealert(%27hacked%27)%3C/script%3E&xss=1;%20report=http://localhost:1234/report

    The attack is prevented and a message is sent to the appropriate address.

    X-Frame-Options

    With this title you can protect yourself from the so-called Clickjacking.

    Imagine that the attacker has a channel on YouTube and he wants more followers.

    He can create a page with a button “Do not press”, which would mean that everyone will click on it necessarily. But over the button is completely transparent iframe and in this frame hides the channel page with the subscription button. Therefore, when you press the button, in fact, a user subscribes to a channel, unless of course, he was logged into YouTube.

    We will demonstrate that.

    First, you need to install the extension to ignore this header.

    Create a simple page.

    
    <style>
    button { background: red; color: white; padding: 10px 20px; border: none; cursor: pointer; }
    iframe { opacity: 0.8; z-index: 1; position: absolute; top: -570px; left: -80px; width: 500px; height: 650px; }</style>
    
    <button>Do not click his button!</button>
    <iframe src="https://youtu.be/dQw4w9WgXcQ?t=3m33s"></iframe>
    

    As you can see, I have placed the frame with the subscription right over the button (z-index: 1) and so if you try to click it, you actually press the frame. In this example, the frame is not fully transparent, but it can be fixed with the value of opacity: 0.

    In practice, this doesn’t work, because YouTube set the desired heading, but the sense of threat, I hope, is clear.

    To prevent the page to be used in the frame need to use the title X-Frame-Options.

    Accepted values:

    • deny not load the page at all.
    • sameorigin not load if the source is not the same.
    • allow-from: DOMAIN you can specify the domain from which the page can be loaded in a frame.

    We need a web server to demonstrate

    var express = require('express')
    
     
    for (let port of [1234, 4321]) {
     var app = express()
    app.use('/iframe', (req, res) => res.send(`<h1>iframe</h1><iframe src="//localhost:1234?h=${req.query.h || ''}"></iframe>`))
    app.use((req, res) => {
      if (req.query.h) res.setHeader('X-Frame-Options', req.query.h)
    res.send('<h1>Website</h1>')
    })
    app.listen(port)
    }
    

    No title

    Everyone will be able to build our website on localhost:1234 in the frame.

    X-Frame-Options: deny

    The page cannot be used at all in the frame.

    X-Frame-Options: sameorigin

    Only pages with the same source will be able to be built into the frame. The sources are the same, if the domain, port and protocol are the same.

    X-Frame-Options: allow-from localhost:4321

    It seems that Chrome ignores this option, because there is a header Content-Security-Policy (about it will be discussed below). It does not work in Microsoft Edge.

    Below Mozilla Firefox.

    X-Content-Type-Options

    This header prevents attacks spoofing MIME type (<script src=”script.txt”>) or unauthorized hotlinking (<script src=”https://raw.githubusercontent.com/user/repo/branch/file.js”>)

    
    var express = require('express')
    var app = express()
    
    app.use('/script.txt', (req, res) => {
      if (req.query.h) res.header('X-Content-Type-Options', req.query.h)
    res.header('content-type', 'text/plain')
    res.send('alert("hacked")')
    })
    
    app.use((req, res) => {
    res.send(`<h1>Website</h1><script src="/script.txt?h=${req.query.h || ''}"></script>`
    })
    app.listen(1234)
    

    No title

    http://localhost:1234/

    Though script.txt is a text file with type text/plain, it will be launched as a script.

    X-Content-Type-Options: nosniff

    http://localhost:1234/?h=nosniff

    This time the types do not match and the file will not be executed.

    Content-Security-Policy

    It is a relatively new title and helps to reduce the risks of XSS attacks in modern browsers by specifying in the title what resources can be loaded on the page.

    For example, you can ask the browser do not execute inline-scripts and download files only from one domain. Inline-scripts can look not only like <script>…</script>, but also as <h1 onclick=”…”>.

    Let’s see how it works.

    
    var request = require('request')
    
    var express = require('express')
    
     
    
    for (let port of [1234, 4321]) {
    
    var app = express()
    
    app.use('/script.js', (req, res) => {
    
    res.send(`document.querySelector('#${req.query.id}').innerHTML = 'changed ${req.query.id}-script'`)
    
    })
    
    app.use((req, res) => {
    
    var csp = req.query.csp
    
    if (csp) res.header('Content-Security-Policy', csp)
    
    res.send(`
    
    <html>
    
    <body>
    
    <h1>Hello, ${req.query.user || 'anonymous'}</h1>
    
    <p id="inline">this will changed inline-script?</p>
    
    <p id="origin">this will changed origin-script?</p>
    
    <p id="remote">this will changed remote-script?</p>
    
    <script>document.querySelector('#inline').innerHTML = 'changed inline-script'</script>
    
    <script src="/script.js?id=origin"></script>
    
    <script src="//localhost:1234/script.js?id=remote"></script>
    
    </body>
    
    </html>
    
    `)
    
    })
    
    app.listen(port)
    
    }
    

    No title

    It works as you would expect

    Content-Security-Policy: default-src ‘none’

    http://localhost:4321/?csp=default-src%20%27none%27&user=%3Cscript%3Ealert(%27hacked%27)%3C/script%3E

    default-src applies a rule to all resources (images, scripts, frames, etc.), the value ‘none’ disables all. Below is shown what happens and the errors displayed in the browser.

    Chrome refused to run any scripts. In this case, you can’t even upload a favicon.ico.

    Content-Security-Policy: default-src ‘self’

    http://localhost:4321/?csp=default-src%20%27self%27&user=%3Cscript%3Ealert(%27hacked%27)%3C/script%3E

    Now it is possible to use the resources from one source but still cannot run external and inline-scripts.

    Content-Security-Policy: default-src ‘self’; script-src ‘self’ ‘unsafe-inline’

    http://localhost:4321/?csp=default-src%20%27self%27;%20script-src%20%27self%27%20%27unsafe-inline%27&user=%3Cscript%3Ealert(%27hacked%27)%3C/script%3E

    This time we let the execution and inline-scripts. Please note that XSS attack in the request was blocked too. But this will not happen if at the same time deliver and unsafe-inline and X-XSS-Protection: 0.

    Other values

    On the website, content-security-policy.com beautifully had shown many examples.

    • default-src ‘self’ allowed resources only from one source
    • script-src ‘self’ www.google-analytics.com ajax.googleapis.com allow Google Analytics, Google AJAX CDN, and resources from one source.
    • default-src ‘none’; script-src ‘self’; connect-src ‘self’; img-src ‘self’; style-src ‘self’; allow images, scripts, AJAX and CSS from one source and prohibit the downloading of any other resources. For most sites this is a good initial setting.

    I didn’t check, but I think that the following headers are equivalent:

    • frame-ancestors ‘none’ and X-Frame-Options: deny
    • frame-ancestors ‘self’ and X-Frame-Options: sameorigin
    • frame-ancestors localhost:4321 and X-Frame-Options: allow-from localhost:4321
    • script-src ‘self’ without ‘unsafe-inline’ and X-XSS-Protection: 1

    If you look at the headers facebook.com or twitter.com it is possible to notice that these sites use a lot of CSP.

    Strict-Transport-Security

    HTTP Strict Transport Security (HSTS) is a mechanism for security policy, which helps protect the website from attempts by an unsecured connection.

    Let’s say that we want to connect to facebook.com. If you don’t specify before requesting https://, protocol, by default, will be selected HTTP and therefore the request will look like http://facebook.com.

    
    $ curl -I facebook.com
    HTTP/1.1 301 Moved Permanently
    Location: https://facebook.com/
    

    After that, we will be redirected to the secure version of Facebook.

    If you connect to a public WiFi hotspot, which is owned by the attacker, the request may be intercepted and instead facebook.com the attacker may substitute a similar page to know the username and password.

    To guard against such an attack, you can use the aforementioned title that will tell the client the next time to use the https-version of the site.

    
    $ curl -I https://www.facebook.com/
    HTTP/1.1 200 OK
    Strict-Transport-Security: max-age=15552000; preload
    

    If the user was logged into Facebook at home and then tried to open it from an unsafe access point, he is not in danger, because browsers remember the title.

    But what happens if you connect to the unsecured network first time? In this case, the protection will not work.

    But browsers have a trump card in this case. They have a predefined list of domains for which should be used HTTPS only.

    You can send your domain at this address. It is also possible to find out whether the header is used correctly.

    Accepted values:

    • max-age=15552000 the time in seconds that the browser should remember the title.
    • includeSubDomains If you specify this optional value, the header applies to all subdomains.
    • preload if the site owner wants the domain got into a predefined list that is supported by Chrome (and used by Firefox and Safari).

    And if you need to switch to HTTP before the expiration of max-age or if you set preload? You can put the value max-age value=0 and then the navigation rule to the https version will stop to work.

    Public-Key-Pins

    HTTP Public Key Pinning (HPKP) is a mechanism for security policy that allows HTTPS sites to protect against malicious use of fake or fraudulent certificates.

    Accepted values:

    • pin-sha256=”<sha256>” in quotes is encoded using Base64 thumbprint of the Subject Public Key Information (SPKI). You can specify multiple pins for different public keys. Some browsers in the future may use other hashing algorithms besides SHA-256.
    • max-age=<seconds> the time, in seconds, that for access to the site need to use only the listed keys.
    • includeSubDomains if you specify this optional parameter, the title applies to all subdomains.
    • report-uri=”<URL>” if you specify URL, then when a validation error key, the corresponding message will be sent to the specified address.

    Instead of the title Public-Key-Pins, you can use Public-Key-Pins-Report-Only, in this case, it will only send the error messages to match the keys, but the browser will still load the page.

    So does Facebook:

    
    $ curl -I https://www.facebook.com/
    
    HTTP/1.1 200 OK
    
    ...
    
    Public-Key-Pins-Report-Only:
    
    max-age=500;
    
    pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=";
    
    pin-sha256="r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E=";
    
    pin-sha256="q4PO2G2cbkZhZ82+JgmRUyGMoAeozA+BSXVXQWB8XWQ=";
    
    report-uri="http://reports.fb.com/hpkp/"
    

    Why is it necessary? Not enough of trusted certification authorities (CA)?

    An attacker can create a certificate for facebook.com and by tricking the user to add it to your list of trusted certificates, or it can be an administrator.

    Let’s try to create a certificate for facebook.

    
    sudo mkdir /etc/certs
    
    echo -e 'US\nCA\nSF\nFB\nXX\nwww.facebook.com\nn*@sp**.org' | \
    
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    
    -keyout /etc/certs/facebook.key \
    
    -out /etc/certs/facebook.crt
    

    And make it trusted in the local system.

    
    # curl
    
    sudo cp /etc/certs/*.crt /usr/local/share/ca-certificates/
    
    sudo update-ca-certificates
    
    # Google Chrome
    
    sudo apt install libnss3-tools -y
    
    certutil -A -t "C,," -n "FB" -d sql:$HOME/.pki/nssdb -i /etc/certs/facebook.crt
    
    # Mozilla Firefox
    
    #certutil -A -t "CP,," -n "FB" -d sql:`ls -1d $HOME/.mozilla/firefox/*.default | head -n 1` -i /etc/certs/facebook.crt
    

    Now run the web server using this certificate.

    
    var fs = require('fs')
    
    var https = require('https')
    
    var express = require('express')
    
     
    
    var options = {
    
    key: fs.readFileSync(`/etc/certs/${process.argv[2]}.key`),
    
    cert: fs.readFileSync(`/etc/certs/${process.argv[2]}.crt`)
    
    }
    
     
    
    var app = express()
    
    app.use((req, res) => res.send(`<h1>hacked</h1>`))
    
    https.createServer(options, app).listen(443)
    

    Switch to the server

    
    echo 127.0.0.1 www.facebook.com | sudo tee -a /etc/hosts
    
    sudo node server.js facebook
    

    Let’s see what happened

    
    $ curl https://www.facebook.com
    
    <h1>hacked</h1>
    

    Great. curl validates the certificate.

    So as I already went to Facebook and Google Chrome has seen its headers, it should report the attack but to allow the page, right?

    Nope. Keys are not checked because of local root certificate [Public key pinning bypassed]. This is interesting…

    Well, and what about www.google.com?

    
    echo -e 'US\nCA\nSF\nGoogle\nXX\nwww.google.com\nn*@sp**.org' | \
    
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    
    -keyout /etc/certs/google.key \
    
    -out /etc/certs/google.crt
    
    sudo cp /etc/certs/*.crt /usr/local/share/ca-certificates/
    
    sudo update-ca-certificates
    
    certutil -A -t "C,," -n "Google" -d sql:$HOME/.pki/nssdb -i /etc/certs/google.crt
    
    echo 127.0.0.1 www.google.com | sudo tee -a /etc/hosts
    
    sudo node server.js google
    

    The same result. I think this is a feature.

    But in any case, if you do not add these certificates to the local store, open websites will not work because the option to continue with an insecure connection in Chrome or add an exception in Firefox will not.

    Content-Encoding: br

    Data is compressed with Brotli.

    The algorithm promises better compression than gzip and comparable speed unzipping. Supports Google Chrome.

    Of course, there is a module for in node.js.

    
    var shrinkRay = require('shrink-ray')
    
    var request = require('request')
    
    var express = require('express')
    
     
    
    request('https://www.gutenberg.org/files/1342/1342-0.txt', (err, res, text) => {
    
    if (err) throw new Error(err)
    
    var app = express()
    
    app.use(shrinkRay())
    
    app.use((req, res) => res.header('content-type', 'text/plain').send(text))
    
    app.listen(1234)
    
    })
    

    Original size: 700 KB

    Brotli: 204 KB

    Gzip: 241 KB

    Timing-Allow-Origin

    Using the Resource Timing API, you can find out how much time took the processing of resources on the page.

    Because the information of load-time may be used to determine whether the user visited the page before this (paying attention to the fact that resources can be cached), a standard is considered to be vulnerable, if you give this information to any hosts.

    
    <script>
    
    setTimeout(function() {
    
    console.log(window.performance.getEntriesByType('resource'))
    
    }, 1000)
    
    </script>
    
     
    
    <img src="http://placehold.it/350x150">
    
    <img src="/local.gif">
    

    It seems that if you do not specify Timing-Allow-Origin, then get detailed information about the time of the operations (the search domain, for example) is possible only for resources with one source.

    You can use this:

    • Timing-Allow-Origin: *
    • Timing-Allow-Origin: http://foo.com http://bar.com

    Alt-Svc

    The Alternative Services allow resources to be in different parts of the network and access to them can be obtained using different configurations of the protocol.

    This is used in Google:

    • alt-svc: quic=”:443″; ma=2592000; v=”36,35,34″

    This means that the browser, if it wish, can use the QUIC, it is HTTP over UDP, over port 443 the next 30 days (ma = 2592000 seconds, or 720 hours, i.e. 30 days). I have no idea what means the parameter v, version?

    P3P

    Below are some P3P headers that I have seen:

    • P3P: CP=«This is not a P3P policy! See support.google.com/accounts/answer/151657?hl=en for more info.»
    • P3P: CP=«Facebook does not have a P3P policy. Learn why here: fb.me/p3p»

    Some browsers require that cookies of third parties supported the P3P protocol for designation of confidentiality measures.

    The organization, founded P3P, the world wide web Consortium (W3C) halted work on the protocol a few years ago due to the fact that modern browsers don’t end up to support protocol. As a result, P3P is outdated and does not include technologies that are now used in a network, so most sites do not support P3P.

    I didn’t go too far, but apparently the header is needed for IE8 to accept cookies from third parties.

    For example, if IE privacy settings are high, then all cookies from sites that do not have a compact privacy policy will be blocked, but those who have headlines similar to the above, will not be blocked.

    Which of the following HTTP headers You use in projects?

    X-XSS-Protection
    X-Frame-Options
    X-Content-Type-Options
    Content-Security-Policy
    Strict-Transport-Security
    Public-Key-Pins
    Content-Encoding
    Timing-Allow-Origin
    Alt-Svc
    P3P
    Other

    This text is a translation of the article “Экзотичные заголовки HTTP”  published by @A3a on habrahabr.ru.

    About the CleanTalk service

    CleanTalk is a cloud service to protect websites from spambots. CleanTalk uses protection methods that are invisible to the visitors of the website. This allows you to abandon the methods of protection that require the user to prove that he is a human (captcha, question-answer etc.).