PHP Shutdown Function Shutdown Helper

Package:
PHP Shutdown Function Shutdown Helper
Summary:
Register functions to be called when a script ends
Groups:
Language, PHP 5
Author:
Till Wehowski
Description:
This is a simple class that register functions to be called when a script ends...

Read more at https://www.phpclasses.org/package/11520-PHP-Register-functions-to-be-called-when-a-script-ends.html#2020-02-04-18:00:49

Arsenal PHP Singleton Trait

Package:
Arsenal PHP Singleton Trait
Summary:
Trait to make classes only have singleton objects
Groups:
Design Patterns, Language, PHP 7, Traits
Author:
wim niemans
Description:
This package provides a trait to make classes only have singleton objects...

Read more at https://www.phpclasses.org/package/11493-PHP-Trait-to-make-classes-only-have-singleton-objects.html#2020-02-04-16:55:26

Community News: Latest PECL Releases (02.04.2020)

Latest PECL Releases:

  • protobuf 3.11.3
    GA release.

  • decimal 2.0.0
    - Default decimal precision changed from 28 to 34. - Decimal operations now use the **minimum** precision of all operands. - Added `DecimalRational` implementation for rational numbers (fractions). - Added `DecimalNumber` abstract class. - Performance improvements, reduced object allocations. - Private constructors, static initializers via `valueOf`.
  • decimal 1.3.1
    - Fixed abs affected by precision.
  • zip 1.17.1
    - add ZipArchive::RDONLY constant (since libzip 1.0.0) - fix #73119 Wrong return for ZipArchive::addEmptyDir method
  • datadog_trace 0.39.0
    ### Changed: - Bring background sender to feature parity #738
  • pdo_sqlsrv 5.8.0
    [Added] - Support for PHP 7.4 - Support for [Microsoft ODBC Driver 17.5]( https://docs.microsoft.com/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver15) on all platforms - Support for Debian 10 and Red Hat 8 - require MS ODBC Driver 17.4+ - Support for macOS Catalina, Alpine Linux 3.11 and Ubuntu 19.10 - require ODBC Driver 17.5+ - Feature Request [#929](https://github.com/microsoft/msphpsql/issues/929) - new [Language option](https://github.com/microsoft/msphpsql/wiki/Features#language) - Pull Request [#930](https://github.com/microsoft/msphpsql/pull/930) - [Data Classification Sensitivity Metadata Retrieval](https://github.com/microsoft/msphpsql/wiki/Features#data-classification-sensitivity-metadata) - requires ODBC Driver 17.4.2+ and [SQL Server 2019](https://www.microsoft.com/sql-server/sql-server-2019) - Feature Request [#1018](https://github.com/microsoft/msphpsql/issues/1018) - support for [PHP extended string types](https://github.com/microsoft/msphpsql/wiki/Features#natlTypes) - Pull Request [#1043](https://github.com/microsoft/msphpsql/pull/1043) - [Always Encrypted with secure enclaves](https://github.com/microsoft/msphpsql/wiki/Features#alwaysencryptedV2) - requires ODBC Driver 17.4+ and [SQL Server 2019](https://www.microsoft.com/sql-server/sql-server-2019) - Feature Request [#1063](https://github.com/microsoft/msphpsql/issues/1063) - add configurable options for locale settings in Linux and macOS - Pull Request [#1069](https://github.com/microsoft/msphpsql/pull/1069) [Removed] - Dropped support for [PHP 7.1](https://www.php.net/supported-versions.php) - Dropped support for SQL Server 2008 R2, macOS Sierra, Ubuntu 18.10 and Ubuntu 19.04. [Fixed] - Pull Request [#972](https://github.com/microsoft/msphpsql/pull/972) - Removed redundant calls to retrieve the number of columns or rows in the current query result set - Pull Request [#978](https://github.com/microsoft/msphpsql/pull/978) - PDO_SQLSRV implementation of PDO::getColumnMeta now references cached metadata rather than making an ODBC call every time - Pull Request [#979](https://github.com/microsoft/msphpsql/pull/979) - Added support for Data Classification Sensitivity metadata retrieval - Pull Request [#985](https://github.com/microsoft/msphpsql/pull/985) - Fixed memory issues with Data Classification data structures - Issue [#432](https://github.com/microsoft/msphpsql/issues/432) - Having any invalid UTF-8 name in the connection string will no longer invoke misleading error messages - Issue [#909](https://github.com/microsoft/msphpsql/issues/909) - Fixed potential exception with locale issues in macOS - Pull Request [#992](https://github.com/microsoft/msphpsql/pull/992) - Produced the correct error when requesting Data Classification metadata with ODBC drivers prior to 17 - Pull Request [#1001](https://github.com/microsoft/msphpsql/pull/1001) - Fixed compilation issue with PHP 7.4 alpha - Pull Request [#1004](https://github.com/microsoft/msphpsql/pull/1004) - Fixed another compilation issue with PHP 7.4 alpha - Pull Request [#1008](https://github.com/microsoft/msphpsql/pull/1008) - Improved data caching when fetching datetime objects - Pull Request [#1011](https://github.com/microsoft/msphpsql/pull/1011) - Fixed a potential buffer overflow when parsing for escaped braces in the connection string - Pull Request [#1015](https://github.com/microsoft/msphpsql/pull/1015) - Fixed compilation issues and addressed various memory leaks detected by PHP 7.4 beta 1 - Issue [#1027](https://github.com/microsoft/msphpsql/issues/1027) - Fixed how drivers handle query timeout settings - Pull Request [#1049](https://github.com/microsoft/msphpsql/pull/1049) - Performance improvement for fetching from tables with many columns - cached the derived php types with column metadata to streamline data retrieval - Pull Request [#1068](https://github.com/microsoft/msphpsql/pull/1068) - Some cosmetic changes to source code as per suggestions from a static analysis tool - Issue [#1079](https://github.com/microsoft/msphpsql/issues/1079) - Support sql_variant types when using client buffers [Limitations] - No support for inout / output params when using sql_variant type - No support for inout / output params when formatting decimal values - In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work - Always Encrypted requires [MS ODBC Driver 17+](https://docs.microsoft.com/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server) - Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported - Issue [#716](https://github.com/Microsoft/msphpsql/issues/716) - With Always Encrypted enabled, named parameters in subqueries are not supported - Issue [#1050](https://github.com/microsoft/msphpsql/issues/1050) - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns - [Always Encrypted limitations](https://docs.microsoft.com/sql/connect/php/using-always-encrypted-php-drivers#limitations-of-the-php-drivers-when-using-always-encrypted) [Known Issues] - In Alpine Linux, the Client-Side Cursors feature may cause an access violation if both sqlsrv and pdo_sqlsrv are enabled. Either enable only sqlsrv or pdo_sqlsrv, or build PHP from source by compiling the drivers statically. - Connection pooling on Linux or macOS is not recommended with [unixODBC](http://www.unixodbc.org/) < 2.3.7 - When pooling is enabled in Linux or macOS - unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages - due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](https://github.com/Microsoft/msphpsql/wiki/Features#pooling)
  • sqlsrv 5.8.0
    [Added] - Support for PHP 7.4 - Support for [Microsoft ODBC Driver 17.5]( https://docs.microsoft.com/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver15) on all platforms - Support for Debian 10 and Red Hat 8 - require MS ODBC Driver 17.4+ - Support for macOS Catalina, Alpine Linux 3.11 and Ubuntu 19.10 - require ODBC Driver 17.5+ - Feature Request [#929](https://github.com/microsoft/msphpsql/issues/929) - new [Language option](https://github.com/microsoft/msphpsql/wiki/Features#language) - Pull Request [#930](https://github.com/microsoft/msphpsql/pull/930) - [Data Classification Sensitivity Metadata Retrieval](https://github.com/microsoft/msphpsql/wiki/Features#data-classification-sensitivity-metadata) - requires ODBC Driver 17.4.2+ and [SQL Server 2019](https://www.microsoft.com/sql-server/sql-server-2019) - [Always Encrypted with secure enclaves](https://github.com/microsoft/msphpsql/wiki/Features#alwaysencryptedV2) - requires ODBC Driver 17.4+ and [SQL Server 2019](https://www.microsoft.com/sql-server/sql-server-2019) - Feature Request [#1063](https://github.com/microsoft/msphpsql/issues/1063) - add configurable options for locale settings in Linux and macOS - Pull Request [#1069](https://github.com/microsoft/msphpsql/pull/1069) [Removed] - Dropped support for [PHP 7.1](https://www.php.net/supported-versions.php) - Dropped support for SQL Server 2008 R2, macOS Sierra, Ubuntu 18.10 and Ubuntu 19.04. [Fixed] - Issue [#570](https://github.com/microsoft/msphpsql/issues/570) - Fixed fetching varbinary data using client buffer with sqlsrv - Pull Request [#972](https://github.com/microsoft/msphpsql/pull/972) - Removed redundant calls to retrieve the number of columns or rows in the current query result set - Pull Request [#979](https://github.com/microsoft/msphpsql/pull/979) - Added support for Data Classification Sensitivity metadata retrieval - Pull Request [#985](https://github.com/microsoft/msphpsql/pull/985) - Fixed memory issues with Data Classification data structures - Issue [#432](https://github.com/microsoft/msphpsql/issues/432) - Having any invalid UTF-8 name in the connection string will no longer invoke misleading error messages - Issue [#909](https://github.com/microsoft/msphpsql/issues/909) - Fixed potential exception with locale issues in macOS - Pull Request [#992](https://github.com/microsoft/msphpsql/pull/992) - Produced the correct error when requesting Data Classification metadata with ODBC drivers prior to 17 - Pull Request [#1001](https://github.com/microsoft/msphpsql/pull/1001) - Fixed compilation issue with PHP 7.4 alpha - Pull Request [#1004](https://github.com/microsoft/msphpsql/pull/1004) - Fixed another compilation issue with PHP 7.4 alpha - Pull Request [#1008](https://github.com/microsoft/msphpsql/pull/1008) - Improved data caching when fetching datetime objects - Pull Request [#1011](https://github.com/microsoft/msphpsql/pull/1011) - Fixed a potential buffer overflow when parsing for escaped braces in the connection string - Pull Request [#1015](https://github.com/microsoft/msphpsql/pull/1015) - Fixed compilation issues and addressed various memory leaks detected by PHP 7.4 beta 1 - Issue [#1027](https://github.com/microsoft/msphpsql/issues/1027) - Fixed how drivers handle query timeout settings - Pull Request [#1049](https://github.com/microsoft/msphpsql/pull/1049) - Performance improvement for fetching from tables with many columns - cached the derived php types with column metadata to streamline data retrieval - Pull Request [#1068](https://github.com/microsoft/msphpsql/pull/1068) - Some cosmetic changes to source code as per suggestions from a static analysis tool - Issue [#1079](https://github.com/microsoft/msphpsql/issues/1079) - Support sql_variant types when using client buffers [Limitations] - No support for inout / output params when using sql_variant type - No support for inout / output params when formatting decimal values - In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work - Always Encrypted requires [MS ODBC Driver 17+](https://docs.microsoft.com/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server) - Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported - Issue [#716](https://github.com/Microsoft/msphpsql/issues/716) - With Always Encrypted enabled, named parameters in subqueries are not supported - Issue [#1050](https://github.com/microsoft/msphpsql/issues/1050) - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns - [Always Encrypted limitations](https://docs.microsoft.com/sql/connect/php/using-always-encrypted-php-drivers#limitations-of-the-php-drivers-when-using-always-encrypted) [Known Issues] - In Alpine Linux, the Client-Side Cursors feature may cause an access violation if both sqlsrv and pdo_sqlsrv are enabled. Either enable only sqlsrv or pdo_sqlsrv, or build PHP from source by compiling the drivers statically. - Connection pooling on Linux or macOS is not recommended with [unixODBC](http://www.unixodbc.org/) < 2.3.7 - When pooling is enabled in Linux or macOS - unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages - due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples [here](https://github.com/Microsoft/msphpsql/wiki/Features#pooling)
  • xdebug 2.9.2
    Fri, Jan 31, 2020 - xdebug 2.9.2

    = Fixed bugs:

    Fixed issue #1735: DBGp eval warning promoted to Exception can cause out-of-sync responses Fixed issue #1736: Segmentation fault when other extensions run PHP in RINIT Fixed issue #1739: Tracing footer not written

  • zip 1.17.0
    - add ZipArchive::registerProgressCallback() method (since libzip 1.3.0) - add ZipArchive::registerCancelCallback() method (since libzip 1.6.0) - drop support for old PHP versions
  • gRPC 1.27.0RC2
    - gRPC Core 1.27.0 update
  • zip 1.16.1
    - add ZipArchive::CM_XZ constant (since libzip 1.6.0) - add ZipArchive::ER_* missing constants - fix Windows build
  • datadog_trace 0.38.1
    ### Fixed - MessagePack serialization with a reference #730
  • uploadprogress 1.1.3
    - Improved documentation and examples included in the release package

PHP PASeTo

Package:
PHP PASeTo
Summary:
Encrypt and decrypt data with PaSeTO protocol
Groups:
Cryptography, PHP 5
Author:
Scott Arciszewski
Description:
This package can be used to Sign, encrypt and decrypt data with Platform-Agnostic Security Tokens protocol...

Read more at https://www.phpclasses.org/package/11519-PHP-Encrypt-and-decrypt-data-with-PaSeTO-protocol.html#2020-02-03-21:25:34

Exploring Neumorphism Through Code Snippets

The web design industry has always been great at throwing around buzzwords. One of the most recent examples is neumorphism – which is supposedly the “new skeuomorphic” for design elements.

It’s a UI trend where an element looks like it’s breaking free (or extruding) from its background. If you’re looking for a reference point, it seems reminiscent of that Star Wars scene where Han Solo is frozen in carbonite. But I digress.

As with any hot new idea, the web is teeming with examples of how this technique could be used in the real world. With that, here are some code snippets that bring neumorphism to life!

Push to Check

It’s an interesting concept: Checkboxes as buttons. Here, each option looks like a nicely-rounded button. Click it and the button looks “pressed”. This not only looks cool; it also adds a unique bit of interactivity to the form.

See the Pen Neuomorphic Checkboxes by Braydon Coyer

The Whole Form

Taking the trend a step further, this snippet imagines an entire form in this style. The text inputs look like they were carved out of the background, while the buttons are bursting forth.

See the Pen Neomorphic Form by Swapnil

Colorful Card

Card UIs are a popular trend in their own right. And they seem to be a perfect match with neumorphism, as they provide a subtle way for content to stand out. What makes this particular example interesting is the use of the gradient background.

See the Pen Neumorph card- soft ui by Cornelius Labuschagne

Neumorphism On the Menu

Icon-based navigation has been around for some time, but it’s been made somewhat new again with a dash of this technique. The hover effects make each button very intuitive, which is an absolute must with this type of low-contrast design.

See the Pen Neumorphism menu by Wouter

Collect Them All

This set of elements has just about everything you need to bring neumorphism to your own projects. There are buttons, form elements and, of particular interest: a loading bar. It just seems like a natural extension of the look.

See the Pen A bit of neumorphism by Damir

More Accessible Morphs

If there is a downside to this trend, it’s that interactive elements can be too subtle – which hurts accessibility. This snippet aims to fix that, with hover and click states that add high-contrast borders and color changes.

See the Pen Neumorphism Accessibility Example by Michael J. Fordham

Neu Calculations

One of neumorphism’s more logical use cases would be for app screens, like this calculator. It borrows several of the basic principles, but still keeps things both legible and intuitive.

See the Pen Neumorphic Calculator by Joseph R Miles

Table It

HTML tables wouldn’t seem to be the best fit for a neumorphic look, but see for yourself. Here, the table is super clean and the row/column hover effects are brilliant. A very creative solution.

See the Pen Nuemorphic Table by Abhishek Anil Deshmukh

Get It While It’s Hot

There’s a definite appeal to neumorphism. The look is rather seamless and, when cleverly implemented, quite smooth.

Judging from the examples above, it would appear that it’s best to use the style in combination with some higher contrasting elements. This provides the right vibe, but keeps the design accessible and user-friendly.

If you’d like to see even more neumorphic UI snippets, check out our CodePen collection!

The post Exploring Neumorphism Through Code Snippets appeared first on Speckyboy Design Magazine.

Shikiryu PHP Backup Tool

Package:
Shikiryu PHP Backup Tool
Summary:
Backup files and databases to different storage
Groups:
Databases, Files and Folders, PHP 5, Security, Systems administration
Author:
Chouchen
Description:
This package can backup files and databases to different storage containers...

Read more at https://www.phpclasses.org/package/11507-PHP-Backup-files-and-databases-to-different-storage.html#2020-02-03-08:59:38

Is My Site Hacked? 6 Ways to Find If Your Site’s Been Hacked

The nail biting. The endless coffee. The sleepless nights.

You can’t keep it up, but you need to know: Is my site hacked?

Good news, you don’t have to stay up all night, grind down your nails, or consume all the coffee in the building to find out if your website has been hacked. You have plenty of free (and trusted) tools that you can use to check your site.

Keep reading to see if your website is still secure! Plus, learn about the six different ways you can check for a hacked site. If you’d like to stay in-the-loop on how to create a secure website and build a site that gets traffic, sign up for our weekly newsletter: Revenue Weekly.

1.     View “Security Issues” in Google Search Console

The most common answer to, “Is my website hacked?” is, “Have you checked Google Search Console?”

Security issues in Google Search Console

Google Search Console is a must-have tool in your security toolkit. No matter how you find out you have a hacked website, every guide will tell you to log in to Google Search Console (or create an account) to view the “Security Issues” report.

Go ahead and view your report with these steps:

Google Search Console Security report

Here, Google will summarize several security issues, including:

  • Phishing and deceptive sites
  • Cross-site malware warnings
  • Code, content, and URL injections
  • Server configuration, SQL injection, code injection, and error template malware infections

If you have any security issues listed in your “Security Issues” report, you must start working with your team to resolve the issue. Your site has been hacked, and you need to act fast to restore your website and protect any site visitors.

2.     Use Google’s Safe Browsing tool

Google offers one of the fastest and most effective ways to see if your site’s been hacked.

Google's Safe Browsing checker

With its Safe Browsing tool, you can check your website’s status instantly. Just follow these steps:

How to check if site hacked with Google safe browsing

For many webmasters, Google Safe Browsing offers the most up-to-date information on a site and its status. Google scans its index of sites daily, checking for malware. It also uses advanced statistical models to spot phishing websites.

If your site comes up as hacked or compromised in Google Safe Browsing, get started on fixing the problem.

Once you resolve the issue, you can ask Google to re-check your site via Google Search Console. As an alternative, Google recommends visiting StopBadware and submitting a website review request. Within 24 hours, Google should assess and clear your site as safe.

3.     Watch for notifications from hosting providers, browsers, and more

Notifications can also alert you to a hacked site.

A few examples of notification sources include:

  • Hosting provider

In most cases, your hosting provider, like GoDaddy or HostGator, will notify you if your website gets hacked. When sites get hacked, hosting providers typically take the website offline and then send an email to the owner. Check your inbox for notifications from your hosting provider.

  • Internet browser

Your web browser, like Google Chrome, can also alert you to a hacked site. With Google Chrome, for example, a red screen will notify you about visiting an unsafe website and give you the option to go back to the previous page. Visit your site in your browser and look for an alert.

  • Google Search Console

If you have a Google Search Console account, you can also receive security alerts about your website. Depending on your settings, Google Search Console may automatically send emails about security issues and manual actions to you. Check your inbox regularly to catch security alerts fast.

  • Internet user

In rare cases, users on your website may alert your team to security issues. Someone may email or call your company, for example, to share weird behavior, requests, or content on your site. Don’t ignore these users — check your website to verify their claims and fix any issues.

  • Malware scanner

Websites with malware scanners can also catch cyberattacks. IsItWP Security Scanner, for instance, is a popular malware scanner for WordPress sites. While a malware scanner isn’t required, it’s a helpful tool for keeping your website safe and secure. Research and download one to keep your site secure.

Adopting a proactive approach to monitoring notifications, like from your hosting provider, Google Search Console, and malware scanner, helps you spot a hacked website fast. The sooner you learn that your website is hacked, the faster you can react.

4.     Check search results on Google

Google search results is another common way for businesses to discover that their site’s been hacked.

Domain search for a hacked website

Look for a hacked site via Google search results by following these steps:

The search results should all come from your site. If not, make sure you’ve used the search operator (site: ) and spelled your domain name correctly because that limits Google’s search to the specified domain name — your website.

Under the first few search results, look for the statement, “This site may be hacked.”

"This site may be hacked" Google message

If you see this message, then Google detected malware or phishing activity on your website.

Again, alert your team and get started on fixing the issue. For more information about what Google found on your site, log in to Google Search Console, and view your “Security Issues” report. Once you fix the issue, you can request Google to re-check your site.

5.     Investigate website files

Critical site files, like your .htaccess and .php files, can also alert you to a hacked website.

If you don’t have a developer background, don’t worry about this tactic. You can use Google Search Console, as well as Google Safe Browsing, to detect and uncover hacking. Only use this strategy if you understand what you’re looking at — otherwise, it won’t help you.

Within these files, you or your developer can look for malicious code and unsafe links.

Developers can find unsafe links by looking for new pages on your site. Hackers create these pages to house spammy links, and then redirect other pages on your website to these link-filled pages. While developers can uncover unsafe links fast, malicious code will take longer since it looks like regular code.

6.     Use the Hacked Sites Troubleshooter

The Hacked Sites Troubleshooter, from Google, is a final way to check for a hacked site.

Google's Hacked Site Troubleshooter

Google recommends using this tool when you’re:

  • Trying to find all the hacked content on your site
  • Looking for any remaining issues following a hack

You can, however, use the Hacked Sites Troubleshooter when you’re investigating whether you have a hacked site. The free tool will walk you through the various steps and strategies for finding hacked content.

How to fix a hacked website

If your answer to, “Has my site been hacked?” is yes, then it’s time to get to work.

When it comes to repairing a hacked website, you have two options:

  • In-house: If your company has the team and expertise, you can restore your site in-house. In most cases, your team will need to analyze the situation before determining if you can fix the problem in-house or require the expertise of a specialized third-party.
  • Outsourced: If your business doesn’t have the team size or skill to fix your website, don’t hesitate to outsource the issue. Work with your hosting provider or another experienced company to remove the malicious code and repair your site.

Every website hack is different, which is why there isn’t a direct or simple approach to fixing a site.

Your solution will depend on several factors, like the hack itself. What matters is that your team responds fast to the issue and starts repairing your website as soon as possible. You should also notify any affected parties, like customers, without delay.

Protect your website from hacking with WebFX

Your website can get hacked fast.

Whether due to easy-to-break passwords, malware software, or unsecure websites, a hacker can quickly take advantage of your site and the security of its users. That’s why your business must secure and protect its website as much as possible.

At WebFX, we offer website maintenance services to keep your site’s security up to date. From monthly to hourly to after-hours, we provide a complete package for protecting your website throughout the year.

Contact us online or call us at 888-601-5953 to learn more today!

The post Is My Site Hacked? 6 Ways to Find If Your Site’s Been Hacked appeared first on WebFX Blog.

Powered by Gewgley