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

      Sunshine And March Vibes (2025 Wallpapers Edition)

      June 1, 2025

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

      June 1, 2025

      How To Fix Largest Contentful Paint Issues With Subpart Analysis

      June 1, 2025

      How To Prevent WordPress SQL Injection Attacks

      June 1, 2025

      7 MagSafe accessories that I recommend every iPhone user should have

      June 1, 2025

      I replaced my Kindle with an iPad Mini as my ebook reader – 8 reasons why I don’t regret it

      June 1, 2025

      Windows 11 version 25H2: Everything you need to know about Microsoft’s next OS release

      May 31, 2025

      Elden Ring Nightreign already has a duos Seamless Co-op mod from the creator of the beloved original, and it’ll be “expanded on in the future”

      May 31, 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

      Student Record Android App using SQLite

      June 1, 2025
      Recent

      Student Record Android App using SQLite

      June 1, 2025

      When Array uses less memory than Uint8Array (in V8)

      June 1, 2025

      Laravel 12 Starter Kits: Definite Guide Which to Choose

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

      Photobooth is photobooth software for the Raspberry Pi and PC

      June 1, 2025
      Recent

      Photobooth is photobooth software for the Raspberry Pi and PC

      June 1, 2025

      Le notizie minori del mondo GNU/Linux e dintorni della settimana nr 22/2025

      June 1, 2025

      Rilasciata PorteuX 2.1: Novità e Approfondimenti sulla Distribuzione GNU/Linux Portatile Basata su Slackware

      June 1, 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 

    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

    7 MagSafe accessories that I recommend every iPhone user should have

    June 1, 2025
    News & Updates

    I replaced my Kindle with an iPad Mini as my ebook reader – 8 reasons why I don’t regret it

    June 1, 2025
    Leave A Reply Cancel Reply

    Continue Reading

    Hackers Targeting Human Rights Activists in Morocco and Western Sahara

    Development

    Explore the Vocal Ranges of Iconic Singers

    Development

    Cisco Patches Critical ISE Vulnerabilities Enabling Root CmdExec and PrivEsc

    Development

    CVE-2025-4084 – “Firefox/Thunderbird Escaping Vulnerability (Local Code Execution)”

    Common Vulnerabilities and Exposures (CVEs)
    GetResponse

    Highlights

    Transforming Healthcare with Custom Mobile Solutions

    April 21, 2025

    Comments Source: Read More 

    Building the Future of Healthcare: Patient Management Software and Its Essential Features

    August 23, 2024

    UI principles for B2B web apps

    July 31, 2024

    How to Hire an IoT Architect

    June 12, 2024
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

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