Instagram In Security SSLip-Up

Instagram users who attempted to access the social network this afternoon were met with a rather unsettling message warning them that their connection wasn’t secure. Instagram uses SSL (Secure Sockets Layer), which is denoted by “https” in the browser’s address bar, to create a secure connection between the user and the network’s servers. Sensitive information, such as credit card numbers, login credentials, and messages, can be sent and received using this type of encryption without worrying about someone eavesdropping.

| More: What is the difference between “http” and “https”

Instagram relies on SSL (Secure Sockets Layer)

Instagram apparently forgot that websites using SSL are typically accredited for one year before they require renewal by a variety of official certification authorities (CAs).

Owen Williams of The Next Web discovered the issue when he tried to access the Instagram website and was informed that their connection wasn’t private. Williams dug a little deeper and found that the issue was caused by an SSL certificate that had expired.

Nearly all browsers will automatically block a website and warn users about the risks of a potentially insecure connection or an expired certificate if they attempt to access a web page with an expired certificate.

However, not before dozens of users had complained about the issue on Twitter, the issue has since been fixed.

So, just in case, remember to make a note in your calendar for 12 months from now when you renew your SSL license.

// Constants for DOM elements const dropdownTriggers = document.querySelectorAll('.dz-menu-item.dropdown'); const dropdownContent = document.querySelector('.dz-dropdown-content'); const dropdownPanels = document.querySelectorAll('.dz-dropdown-panel'); const header = document.querySelector('.dz-header-wrap');// State to track the currently open menu item element let activeDropdownElement = null; let closeTimer = null; // Timer for delayed closing// Function to close all dropdowns function closeAllDropdowns() { if (closeTimer) { clearTimeout(closeTimer); closeTimer = null; } // Only proceed if the elements exist if (dropdownContent) { dropdownContent.classList.remove('open'); } dropdownPanels.forEach(panel => panel.classList.remove('active')); dropdownTriggers.forEach(item => item.classList.remove('active')); activeDropdownElement = null; }// Function to open a specific dropdown function openDropdown(item, targetPanel) { if (closeTimer) { clearTimeout(closeTimer); closeTimer = null; } // 1. Close all others closeAllDropdowns(); // 2. Open the new one item.classList.add('active'); targetPanel.classList.add('active'); if (dropdownContent) { dropdownContent.classList.add('open'); } activeDropdownElement = item; }// Event listener for each dropdown menu item dropdownTriggers.forEach(item => { item.addEventListener('click', function(e) { e.preventDefault(); const panelName = this.getAttribute('data-panel'); const targetPanel = document.querySelector(`.${panelName}`); if (!targetPanel) return;const isCurrentlyActive = this === activeDropdownElement;if (isCurrentlyActive) { // If the same dropdown is clicked, close it immediately. closeAllDropdowns(); } else { // Open the new dropdown openDropdown(this, targetPanel); } }); });/* --- MOUSE EVENTS FOR STABILITY FIX --- */ if (header) { // 1. When the mouse leaves the entire header area (menu + dropdown bar), start a timer to close it. header.addEventListener('mouseleave', () => { // Only initiate close if a dropdown is currently active if (activeDropdownElement) { // Set a delay (e.g., 300ms) to allow the user to move the mouse slightly closeTimer = setTimeout(closeAllDropdowns, 300); } });// 2. If the mouse re-enters the header area before the timer fires, cancel the close. header.addEventListener('mouseenter', () => { if (closeTimer) { clearTimeout(closeTimer); closeTimer = null; } }); }// 3. Close when clicking anywhere outside the header (as a fallback) document.addEventListener('click', (e) => { // Check if header exists and if the click is outside the header AND a dropdown is open if (header && !header.contains(e.target) && activeDropdownElement) { closeAllDropdowns(); } });// Initial setup: ensure all are closed on load document.addEventListener('DOMContentLoaded', closeAllDropdowns); window.addEventListener('load', closeAllDropdowns);
Torna in alto