GET https://rct.dev.bbntimes.com/technology/securing-your-django-app-best-practices-and-common-vulnerabilities

ArticleController :: show

Request

GET Parameters

None

POST Parameters

None

Uploaded Files

None

Request Attributes

Key Value
_controller
"App\Controller\ArticleController::show"
_firewall_context
"security.firewall.map.context.main"
_links
Symfony\Component\WebLink\GenericLinkProvider {#3599
  -links: [
    3720 => Symfony\Component\WebLink\Link {#3720
      -href: "/build/runtime.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3718 => Symfony\Component\WebLink\Link {#3718
      -href: "/build/644.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3717 => Symfony\Component\WebLink\Link {#3717
      -href: "/build/502.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3716 => Symfony\Component\WebLink\Link {#3716
      -href: "/build/app.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3715 => Symfony\Component\WebLink\Link {#3715
      -href: "/build/view-more.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3714 => Symfony\Component\WebLink\Link {#3714
      -href: "/build/term-condition.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3713 => Symfony\Component\WebLink\Link {#3713
      -href: "/build/contact.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3712 => Symfony\Component\WebLink\Link {#3712
      -href: "/build/scroll-infinite-article.js"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "script"
      ]
    }
    3711 => Symfony\Component\WebLink\Link {#3711
      -href: "/build/app.css"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "style"
      ]
    }
    3710 => Symfony\Component\WebLink\Link {#3710
      -href: "/build/cookie-style.css"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "style"
      ]
    }
    3709 => Symfony\Component\WebLink\Link {#3709
      -href: "/build/term-condition-css.css"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "style"
      ]
    }
    3708 => Symfony\Component\WebLink\Link {#3708
      -href: "/build/contact-css.css"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "style"
      ]
    }
    3707 => Symfony\Component\WebLink\Link {#3707
      -href: "/build/comment-css.css"
      -rel: [
        "preload" => "preload"
      ]
      -attributes: [
        "as" => "style"
      ]
    }
  ]
}
_route
"article_show"
_route_params
[
  "category" => "technology"
  "slug" => "securing-your-django-app-best-practices-and-common-vulnerabilities"
]
_security_firewall_run
"_security_main"
_stopwatch_token
"9351bf"
category
"technology"
slug
"securing-your-django-app-best-practices-and-common-vulnerabilities"

Request Headers

Header Value
accept
"*/*"
accept-encoding
"gzip, br, zstd, deflate"
connection
"close"
cookie
"PHPSESSID=khchi1onim705tqjucogjv5fc1"
host
"rct.dev.bbntimes.com"
user-agent
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
x-php-ob-level
"1"

Request Content

Request content not available (it was retrieved as a resource).

Response

Response Headers

Header Value
cache-control
"no-cache, private"
content-type
"text/html; charset=UTF-8"
date
"Sat, 22 Feb 2025 13:51:02 GMT"
link
"</build/runtime.js>; rel="preload"; as="script",</build/644.js>; rel="preload"; as="script",</build/502.js>; rel="preload"; as="script",</build/app.js>; rel="preload"; as="script",</build/view-more.js>; rel="preload"; as="script",</build/term-condition.js>; rel="preload"; as="script",</build/contact.js>; rel="preload"; as="script",</build/scroll-infinite-article.js>; rel="preload"; as="script",</build/app.css>; rel="preload"; as="style",</build/cookie-style.css>; rel="preload"; as="style",</build/term-condition-css.css>; rel="preload"; as="style",</build/contact-css.css>; rel="preload"; as="style",</build/comment-css.css>; rel="preload"; as="style""
x-debug-token
"b6b48e"

Cookies

Request Cookies

Key Value
PHPSESSID
"khchi1onim705tqjucogjv5fc1"

Response Cookies

No response cookies

Session 6

Session Metadata

Key Value
Created
"Sat, 22 Feb 25 13:49:22 +0000"
Last used
"Sat, 22 Feb 25 13:50:58 +0000"
Lifetime
0

Session Attributes

Attribute Value
_csrf/https-comment
"A2BmoIi2Exw0KM22jc7cufAfLMdaknr9oxSufRTHZNw"
_csrf/https-cookie_accept
"6xQKZldBeSn3RkblS5eMrG-Y3L7_OiHPwU_smeYjjAc"

Session Usage

6 Usages
Stateless check enabled
Usage
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:76
[
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php"
    "line" => 76
    "function" => "start"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php"
    "line" => 69
    "function" => "hasToken"
    "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php"
    "line" => 82
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 134
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 128
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php"
    "line" => 908
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php"
    "line" => 220
    "function" => "createView"
    "class" => "Symfony\Component\Form\Form"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "show"
    "class" => "App\Controller\ArticleController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php"
    "line" => 197
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    "line" => 29
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:79
[
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php"
    "line" => 79
    "function" => "has"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php"
    "line" => 69
    "function" => "hasToken"
    "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php"
    "line" => 82
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 134
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 128
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php"
    "line" => 908
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php"
    "line" => 220
    "function" => "createView"
    "class" => "Symfony\Component\Form\Form"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "show"
    "class" => "App\Controller\ArticleController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php"
    "line" => 197
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    "line" => 29
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:52
[
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php"
    "line" => 52
    "function" => "has"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php"
    "line" => 70
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php"
    "line" => 82
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 134
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 128
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php"
    "line" => 908
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php"
    "line" => 220
    "function" => "createView"
    "class" => "Symfony\Component\Form\Form"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "show"
    "class" => "App\Controller\ArticleController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php"
    "line" => 197
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    "line" => 29
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:56
[
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php"
    "line" => 56
    "function" => "get"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php"
    "line" => 70
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php"
    "line" => 82
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 134
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php"
    "line" => 128
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php"
    "line" => 95
    "function" => "finishView"
    "class" => "Symfony\Component\Form\ResolvedFormType"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php"
    "line" => 908
    "function" => "finishView"
    "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php"
    "line" => 220
    "function" => "createView"
    "class" => "Symfony\Component\Form\Form"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "show"
    "class" => "App\Controller\ArticleController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php"
    "line" => 197
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    "line" => 29
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]
Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage:41
[
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-core/Authentication/Token/Storage/UsageTrackingTokenStorage.php"
    "line" => 41
    "function" => "getMetadataBag"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/twig-bridge/AppVariable.php"
    "line" => 103
    "function" => "getToken"
    "class" => "Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Extension/CoreExtension.php"
    "line" => 1635
    "function" => "getUser"
    "class" => "Symfony\Bridge\Twig\AppVariable"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/a4/a456f2f504a18cd81037fa69e543310c.php"
    "line" => 200
    "function" => "twig_get_attribute"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 394
    "function" => "doDisplay"
    "class" => "__TwigTemplate_824a013e4f3f4a68e03a2d244e765025"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 367
    "function" => "displayWithErrorHandling"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 379
    "function" => "display"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/TemplateWrapper.php"
    "line" => 38
    "function" => "render"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Environment.php"
    "line" => 280
    "function" => "render"
    "class" => "Twig\TemplateWrapper"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 448
    "function" => "render"
    "class" => "Twig\Environment"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 453
    "function" => "doRenderView"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 253
    "function" => "doRender"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/AppController.php"
    "line" => 126
    "function" => "render"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "renderHeader"
    "class" => "App\Controller\AppController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php"
    "line" => 86
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php"
    "line" => 78
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpCache\SubRequestHandler"
    "type" => "::"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Fragment/FragmentHandler.php"
    "line" => 83
    "function" => "render"
    "class" => "Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php"
    "line" => 47
    "function" => "render"
    "class" => "Symfony\Component\HttpKernel\Fragment\FragmentHandler"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/twig-bridge/Extension/HttpKernelRuntime.php"
    "line" => 44
    "function" => "render"
    "class" => "Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/b9/b9cb140abab7ef4ef8cb398831c75ac0.php"
    "line" => 207
    "function" => "renderFragment"
    "class" => "Symfony\Bridge\Twig\Extension\HttpKernelRuntime"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 171
    "function" => "block_header"
    "class" => "__TwigTemplate_dc67cdc305f050f0a27ba7ef152f05af"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/b9/b9cb140abab7ef4ef8cb398831c75ac0.php"
    "line" => 91
    "function" => "displayBlock"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 394
    "function" => "doDisplay"
    "class" => "__TwigTemplate_dc67cdc305f050f0a27ba7ef152f05af"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 367
    "function" => "displayWithErrorHandling"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/c3/c336f4e76fc20e4db84e3be131276b68.php"
    "line" => 52
    "function" => "display"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 394
    "function" => "doDisplay"
    "class" => "__TwigTemplate_3ce0324a396de697d1fad9fabd68df72"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 367
    "function" => "displayWithErrorHandling"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php"
    "line" => 379
    "function" => "display"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/TemplateWrapper.php"
    "line" => 38
    "function" => "render"
    "class" => "Twig\Template"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Environment.php"
    "line" => 280
    "function" => "render"
    "class" => "Twig\TemplateWrapper"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 448
    "function" => "render"
    "class" => "Twig\Environment"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 453
    "function" => "doRenderView"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php"
    "line" => 253
    "function" => "doRender"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php"
    "line" => 277
    "function" => "render"
    "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 181
    "function" => "show"
    "class" => "App\Controller\ArticleController"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php"
    "line" => 197
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    "line" => 29
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]
Symfony\Component\Security\Http\Firewall\ContextListener:171
[
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-http/Firewall/ContextListener.php"
    "line" => 171
    "function" => "remove"
    "class" => "Symfony\Component\HttpFoundation\Session\Session"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/event-dispatcher/Debug/WrappedListener.php"
    "line" => 116
    "function" => "onKernelResponse"
    "class" => "Symfony\Component\Security\Http\Firewall\ContextListener"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/event-dispatcher/EventDispatcher.php"
    "line" => 220
    "function" => "__invoke"
    "class" => "Symfony\Component\EventDispatcher\Debug\WrappedListener"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/event-dispatcher/EventDispatcher.php"
    "line" => 56
    "function" => "callListeners"
    "class" => "Symfony\Component\EventDispatcher\EventDispatcher"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php"
    "line" => 139
    "function" => "dispatch"
    "class" => "Symfony\Component\EventDispatcher\EventDispatcher"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 214
    "function" => "dispatch"
    "class" => "Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 202
    "function" => "filterResponse"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php"
    "line" => 76
    "function" => "handleRaw"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php"
    "line" => 197
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\HttpKernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php"
    "line" => 35
    "function" => "handle"
    "class" => "Symfony\Component\HttpKernel\Kernel"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    "line" => 29
    "function" => "run"
    "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner"
    "type" => "->"
  ]
  [
    "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
    "line" => 5
    "args" => [
      "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php"
    ]
    "function" => "require_once"
  ]
]

Flashes

Flashes

No flash messages were created.

Server Parameters

Server Parameters

Defined in .env

Key Value
APP_ENV
"dev"
APP_SECRET
"0a988e63f011514eaabfc650b599af4d"
CORS_ALLOW_ORIGIN
"*"
DATABASE_URL
"mysql://bbndb_rctuser:33F5W25z40or0f7@localhost:3306/rct_bbntimes"
GOOGLE_RECAPTCHA_SECRET_KEY
"6LdV5fgpAAAAANxzTG8ZMfIjil1wu-1vrQvnUt-x"
GOOGLE_RECAPTCHA_SITE_KEY
"6LdV5fgpAAAAAENKcn73MJAhQrbtQeqgyC4wDLMP"
MAILER_DSN
"smtp://no-reply%40rct.dev.bbntimes.com:Bl6%26gLD48%26Of919@rct.dev.bbntimes.com:465"
MARIADB_PASSWORD
"i!87pK&!85ezc8"

Defined as regular env variables

Key Value
APP_DEBUG
"1"
BASE
"/public"
CONTEXT_DOCUMENT_ROOT
"/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com"
CONTEXT_PREFIX
""
DOCUMENT_ROOT
"/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com"
FCGI_ROLE
"RESPONDER"
GATEWAY_INTERFACE
"CGI/1.1"
HTTPS
"on"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_CONNECTION
"close"
HTTP_COOKIE
"PHPSESSID=khchi1onim705tqjucogjv5fc1"
HTTP_HOST
"rct.dev.bbntimes.com"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
PHP_SELF
"/public/index.php"
PP_CUSTOM_PHP_CGI_INDEX
"plesk-php81-fastcgi"
PP_CUSTOM_PHP_INI
"/var/www/vhosts/system/rct.dev.bbntimes.com/etc/php.ini"
QUERY_STRING
""
REDIRECT_BASE
"/public"
REDIRECT_HTTPS
"on"
REDIRECT_PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_REDIRECT_HTTPS
"on"
REDIRECT_REDIRECT_PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_REDIRECT_PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_REDIRECT_SCRIPT_URI
"https://rct.dev.bbntimes.com/technology/securing-your-django-app-best-practices-and-common-vulnerabilities"
REDIRECT_REDIRECT_SCRIPT_URL
"/technology/securing-your-django-app-best-practices-and-common-vulnerabilities"
REDIRECT_REDIRECT_SSL_TLS_SNI
"rct.dev.bbntimes.com"
REDIRECT_REDIRECT_STATUS
"200"
REDIRECT_REDIRECT_UNIQUE_ID
"Z7nWRpDyWLT8YV1VjBpdagAAAI0"
REDIRECT_SCRIPT_URI
"https://rct.dev.bbntimes.com/technology/securing-your-django-app-best-practices-and-common-vulnerabilities"
REDIRECT_SCRIPT_URL
"/technology/securing-your-django-app-best-practices-and-common-vulnerabilities"
REDIRECT_SSL_TLS_SNI
"rct.dev.bbntimes.com"
REDIRECT_STATUS
"200"
REDIRECT_UNIQUE_ID
"Z7nWRpDyWLT8YV1VjBpdagAAAI0"
REDIRECT_URL
"/public/technology/securing-your-django-app-best-practices-and-common-vulnerabilities"
REMOTE_ADDR
"3.138.181.225"
REMOTE_PORT
"55965"
REQUEST_METHOD
"GET"
REQUEST_SCHEME
"https"
REQUEST_TIME
1740232262
REQUEST_TIME_FLOAT
1740232262.3006
REQUEST_URI
"/technology/securing-your-django-app-best-practices-and-common-vulnerabilities"
SCRIPT_FILENAME
"/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php"
SCRIPT_NAME
"/public/index.php"
SCRIPT_URI
"https://rct.dev.bbntimes.com/technology/securing-your-django-app-best-practices-and-common-vulnerabilities"
SCRIPT_URL
"/technology/securing-your-django-app-best-practices-and-common-vulnerabilities"
SERVER_ADDR
"5.196.1.209"
SERVER_ADMIN
"[no address given]"
SERVER_NAME
"rct.dev.bbntimes.com"
SERVER_PORT
"443"
SERVER_PROTOCOL
"HTTP/1.1"
SERVER_SIGNATURE
"<address>Apache Server at rct.dev.bbntimes.com Port 443</address>\n"
SERVER_SOFTWARE
"Apache"
SSL_TLS_SNI
"rct.dev.bbntimes.com"
SYMFONY_DOTENV_VARS
"APP_ENV,APP_SECRET,DATABASE_URL,MARIADB_PASSWORD,CORS_ALLOW_ORIGIN,MAILER_DSN,GOOGLE_RECAPTCHA_SECRET_KEY,GOOGLE_RECAPTCHA_SITE_KEY"
UNIQUE_ID
"Z7nWRpDyWLT8YV1VjBpdagAAAI0"

Sub Requests 6

CookieController :: renderAnalysis (token = 01f73a)

Key Value
_controller
"App\Controller\CookieController::renderAnalysis"
_format
"html"
_locale
"en"
_stopwatch_token
"6d2fdf"

AppController :: renderHeader (token = c67997)

Key Value
_controller
"App\Controller\AppController::renderHeader"
_format
"html"
_locale
"en"
_stopwatch_token
"5d5482"
slug
"home"

ArticleController :: trendingArticle (token = fd56ba)

Key Value
_controller
"App\Controller\ArticleController::trendingArticle"
_format
"html"
_locale
"en"
_stopwatch_token
"027e7b"
category
"Technology"

ArticleController :: relatedArticles (token = a511af)

Key Value
_controller
"App\Controller\ArticleController::relatedArticles"
_format
"html"
_locale
"en"
_stopwatch_token
"883fb7"
current_article
App\Entity\Article {#1094
  -id: 16589
  -title: "Securing Your Django App: Best Practices and Common Vulnerabilities"
  -slug: "securing-your-django-app-best-practices-and-common-vulnerabilities"
  -introtext: "<p>Due to the rising cyberthreats from all around the world, it's important to secure your Django app.</p>\r\n"
  -content: """
    \r\n
    <p>Several well known sites such as Instagram, Clubhouse and Mozilla are using Django since it provides a clean and pragmatic design, enabling developers to build applications quickly.</p>\r\n
    <p>Django, a high-level Python web framework, is&nbsp;known for its robust features.</p>\r\n
    <p>As experts in Django development, Django Stars,&nbsp;a reputable <a href="https://djangostars.com/services/python-django-development/" target="_blank" rel="noopener">django company</a>,&nbsp;emphasizes the importance of prioritizing security from the inception of your project. According to Roman Gaponov, the CEO of Django Stars, "Security is not just a feature; it's a fundamental aspect of the development process. Django Stars is committed to helping developers create secure and resilient applications."</p>\r\n
    <p>Django's scalability is based on its unique ability to manage projects of varying sizes. Whether it's a small-scale application or a large complex app, Django's modular structure and scalability features make it adaptable to different project requirements.</p>\r\n
    <p>Lke any other innovative technology, Django is not immune to potential vulnerabilities. Here are some ot the best practices and common vulneberalities that you should be aware of.</p>\r\n
    <h2>1. Keep Django Updated</h2>\r\n
    <p><img src="/images/Keep_Django_Updated.jpg" alt="Keep_Django_Updated.jpg" width="600" height="400" /></p>\r\n
    <p>One of the fundamental steps in securing your Django app is to ensure you are using the latest version of Django and its dependencies. Regularly updating your framework and packages ensures that you benefit from the latest security patches and enhancements. Regular updates are like immunizations for your application, guarding it against emerging threats.</p>\r\n
    <p>It's important to regularly updates both Django and third-party packages to fortify your application against identified security vulnerabilities.&nbsp;Implement version control systems such as Git to monitor project changes systematically, simplifying the integration of crucial security updates.</p>\r\n
    <h2>2. Use&nbsp;Multi-factor Authentication</h2>\r\n
    <p>Implementing robust authentication and authorization mechanisms is crucial in preventing unauthorized access to your Django app. Utilize Django's built-in authentication system and consider implementing two-factor authentication for an additional layer of security. A strong authentication process is the first line of defense for your application. Django Stars recommends employing multi-factor authentication for an added layer of protection.</p>\r\n
    <h2>3. Leverage&nbsp;Zero Trust Security</h2>\r\n
    <p>Zero Trust is a comprehensive security framework that requires the authentication, authorization, and continuous validation of all users, regardless of their location within or outside the organization's network. <a href="technology/zero-trust-architecture-revolutionizing-cybersecurity-for-today-s-hybrid-workforce" target="_blank" rel="noopener">Zero trust security</a> ensures that individuals must undergo rigorous security scrutiny for their configuration and posture before being granted access to applications and data, and this validation persists throughout the access period. By leveraging the Zero Trust model, the conventional notion of a network edge is disregarded, acknowledging that networks can be local, in the cloud, or a hybrid combination, with resources distributed anywhere. Zero Trust recognizes that workers may be situated in various locations, reinforcing the need for a security strategy that extends beyond traditional network boundaries.</p>\r\n
    <h2>3. Protect Against Cross-Site Scripting (XSS) Attacks</h2>\r\n
    <p>Cross-Site Scripting is a common vulnerability where attackers inject malicious scripts into web pages viewed by other users. Django mitigates this risk by escaping HTML content by default. However, developers must remain vigilant, validating and sanitizing user inputs to prevent potential XSS attacks. Django Stars' COO, Arthur Bachinskiy, emphasizes, "XSS attacks can be devastating. Django Stars advocates for thorough input validation and using Django's template system to automatically escape content."</p>\r\n
    <h2>4. Safeguard Against Cross-Site Request Forgery (CSRF) Attacks</h2>\r\n
    <p>Django protects against CSRF attacks by including a CSRF token in each form. Developers should ensure that these tokens are present and valid for each form submission. Additionally, Django Stars recommends setting the 'SameSite' cookie attribute to 'Strict' or 'Lax' to prevent cross-origin requests. This adds an extra layer of defense against CSRF attacks.</p>\r\n
    <h2>5.&nbsp;Encrypt Sensitive Data</h2>\r\n
    <p><a href="https://www.theguardian.com/housing-network/2013/may/23/five-steps-improve-data-security" target="_blank" rel="noopener">Secure your database</a> by implementing proper access controls, encrypting sensitive data, and avoiding the use of default database configurations. Django Stars' Head of Marketing, Julia Korsun, underlines the importance of database security: "Django Stars encourages developers to follow best practices, such as encrypting sensitive data and setting up strict access controls. A secure database is a cornerstone of a robust application."</p>\r\n
    <p>It's important to employ Django's built-in features, such as Field-level encryption and Transparent Database Encryption (TDE), to add an extra layer of protection to sensitive information within your application. These mechanisms integrate seamlessly with Django's ORM system, providing a straightforward approach to securing critical data elements.</p>\r\n
    <p>Regularly audit and monitor database activity to promptly identify and address any unusual patterns or potential security threats. This proactive approach enables you to stay ahead of potential vulnerabilities and ensures the ongoing security of your application's database.</p>\r\n
    <h2>6.&nbsp;Be Careful of SQL Injection Attacks</h2>\r\n
    <p><img src="/images/Be_Careful_of_SQL_Injection_Attacks.jpg" alt="Be_Careful_of_SQL_Injection_Attacks.jpg" width="600" height="400" /></p>\r\n
    <p>SQL injection poses a significant threat, allowing malicious users to execute arbitrary SQL code on a database, potentially leading to data deletion or leakage. However, Django provides robust protection against <a href="https://www.forbes.com/sites/ciocentral/2013/02/07/the-hidden-it-security-threat-multifunction-printers/" target="_blank" rel="noopener">SQL injection</a> through its implementation of query parameterization in querysets.</p>\r\n
    <p>Django ensures the separation of a query's SQL code from its parameters, safeguarding against potential vulnerabilities. This precaution is crucial, especially when dealing with user-provided parameters that may be unsafe. The framework employs escaping mechanisms facilitated by the underlying database driver to enhance security.</p>\r\n
    <p>While Django empowers developers with the flexibility to write raw queries or execute custom SQL, it is imperative to exercise caution. Care should be taken to properly escape any user-controllable parameters to mitigate potential risks. Special attention is warranted when using features like extra( ) and RawSQL to maintain the integrity of the application's security measures.</p>\r\n
    <h2>To Sum Up</h2>\r\n
    <p>Securing your Django app is an ongoing process that demands attention to detail and a proactive mindset. By staying informed about common vulnerabilities and adhering to best practices, you can fortify your application against potential threats. Django Stars believes that security should be ingrained in the development process. By following these best practices, developers can create Django applications that are not only functional but also highly secure.</p>\r\n
    <p>Security is a top priority for Django Stars. Their Django framework includes built-in protections against common web vulnerabilities such as SQL injection, cross-site scripting (XSS), and cross-site request forgery (CSRF). Django Stars' emphasis on secure coding practices contributes to creating robust and secure applications.</p>
    """
  -user: Proxies\__CG__\App\Entity\User {#1092 …}
  -createdAt: DateTime @1708537320 {#1145
    date: 2024-02-21 17:42:00.0 UTC (+00:00)
  }
  -updatedAt: DateTime @1708686295 {#1150
    date: 2024-02-23 11:04:55.0 UTC (+00:00)
  }
  -deletedAt: null
  -category: App\Entity\Category {#445 …}
  -status: "published"
  -imageCard: Proxies\__CG__\App\Entity\File {#1184 …}
  -ImageHeader: Proxies\__CG__\App\Entity\File {#1184 …}
  -featured: false
  -mainView: false
  -clicks: 2767
  -comments: Doctrine\ORM\PersistentCollection {#1125 …}
  -reviewed_at: DateTime @1708537320 {#1148
    date: 2024-02-21 17:42:00.0 UTC (+00:00)
  }
  -metakey: "Securing Your Django App: Best Practices and Common Vulnerabilities"
  -metadesc: "Due to the rising cyberthreats from all around the world, it's important to secure your Django app."
  -robots: null
  -publishedAt: DateTime @1708537320 {#1147
    date: 2024-02-21 17:42:00.0 UTC (+00:00)
  }
  -canonical: null
  -superTag: null
}

AppController :: renderFooter (token = 081775)

Key Value
_controller
"App\Controller\AppController::renderFooter"
_format
"html"
_locale
"en"
_stopwatch_token
"9630fe"

CookieController :: renderCookie (token = 6a06bc)

Key Value
_controller
"App\Controller\CookieController::renderCookie"
_format
"html"
_locale
"en"
_stopwatch_token
"899963"