Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      Sunshine And March Vibes (2025 Wallpapers Edition)

      June 2, 2025

      The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks

      June 2, 2025

      How To Fix Largest Contentful Paint Issues With Subpart Analysis

      June 2, 2025

      How To Prevent WordPress SQL Injection Attacks

      June 2, 2025

      How Red Hat just quietly, radically transformed enterprise server Linux

      June 2, 2025

      OpenAI wants ChatGPT to be your ‘super assistant’ – what that means

      June 2, 2025

      The best Linux VPNs of 2025: Expert tested and reviewed

      June 2, 2025

      One of my favorite gaming PCs is 60% off right now

      June 2, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      `document.currentScript` is more useful than I thought.

      June 2, 2025
      Recent

      `document.currentScript` is more useful than I thought.

      June 2, 2025

      Adobe Sensei and GenAI in Practice for Enterprise CMS

      June 2, 2025

      Over The Air Updates for React Native Apps

      June 2, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      You can now open ChatGPT on Windows 11 with Win+C (if you change the Settings)

      June 2, 2025
      Recent

      You can now open ChatGPT on Windows 11 with Win+C (if you change the Settings)

      June 2, 2025

      Microsoft says Copilot can use location to change Outlook’s UI on Android

      June 2, 2025

      TempoMail — Command Line Temporary Email in Linux

      June 2, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»News & Updates»The Big Refactoring Update

    The Big Refactoring Update

    January 29, 2025

    Today’s anonymous submitter spent a few weeks feeling pretty good about themselves. You see, they’d inherited a gigantic and complex pile of code, an application spread out across 15 backend servers, theoretically organized into “modules” and “microservices” but in reality was a big ball of mud. And after a long and arduous process, they’d dug through that ball of mud and managed to delete 190 files, totaling 30,000 lines of code. That was fully 2/3rds of the total codebase, gone- and yet the tests continued to pass, the application continued to run, and everyone was just much happier with it.

    Two weeks later, a new ticket comes in: users are getting a 403 error when trying to access the “User Update” screen. Our submitter has seen a lot of these tickets, and it almost always means that the user’s permissions are misconfigured. It’s an easy fix, and not a code problem.

    Just to be on the safe side, though, they pull up the screen with their account- guaranteed to have the right permissions- and get a 403.

    As you can imagine, the temptation to sneak a few fixes in alongside this massive refactoring was impossible to resist. One of the problems was that most of their routes were camelCase URLs, but userupdate was not. So they’d fixed it. It was a minor change, and it worked in testing. So what was happening?

    Well, there was a legacy authorization database. It was one of those 15 backend servers, and it ran no web code, and thus wasn’t touched by our submitter’s refactoring. Despite their web layer having copious authorization and authentication code, someone had decided back in the olden days, to implement that authorization and authentication in its own database.

    Not every request went through this database. It impacted new sessions, but only under specific conditions. But this database had a table in it, which listed off all the routes. And unlike the web code, which used regular expressions for checking routes, and were case insensitive, this database did a strict equality comparison.

    The fix was simple: update the table to allow userUpdate. But it also pointed towards a deeper, meaner target for future refactoring: dealing with this sometimes required (but often not!) authentication step lurking in a database that no one had thought about until our submitter’s refactoring broke something.

    [Advertisement]
    ProGet’s got you covered with security and access controls on your NuGet feeds. Learn more.

    Source: Read More 

    Hostinger
    Facebook Twitter Reddit Email Copy Link
    Previous ArticleKAlgebra – graphing calculator
    Next Article MSP Best Practices: Network Switch and Router Deployment Checklist

    Related Posts

    News & Updates

    How Red Hat just quietly, radically transformed enterprise server Linux

    June 2, 2025
    News & Updates

    OpenAI wants ChatGPT to be your ‘super assistant’ – what that means

    June 2, 2025
    Leave A Reply Cancel Reply

    Continue Reading

    Japan’s Ambitious Plan for a Bullet Train to the Moon: The Future is Now

    Artificial Intelligence

    AWS Researchers Propose LEDEX: A Machine Learning Training Framework that Significantly Improves the Self-Debugging Capability of LLMs

    Development

    CVE-2025-43833 – Amir Helzer Absolute Links SQL Injection Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    South Korean ISP Accused of Installing Malware on Devices of 600,000 Who Used Torrenting Services

    Development

    Highlights

    If you’re not working on quantum-safe encryption now, it’s already too late

    February 6, 2025

    Quantum computers could soon break today’s strongest encryption, putting sensitive data at risk. Let’s dive…

    Hackers Exploiting Jenkins Script Console for Cryptocurrency Mining Attacks

    July 9, 2024

    Beware of phone scams demanding money for ‘missed jury duty’

    May 8, 2025

    CISA Adds Broadcom Brocade Fabric OS Vulnerability to Known Exploited Vulnerabilities Catalog

    April 29, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.