Redirect 302 redirect from GET @entry_comment_create (770e34)

Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
0.74 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.04 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "programmer_humor@programming.dev"
    +title: "programmer_humor"
    +description: """
      Welcome to Programmer Humor!\n
      \n
      This is a place where you can post jokes, memes, humor, etc. related to programming!\n
      \n
      For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
      \n
      Rules\n
      -----\n
      \n
      - Keep content in english\n
      - No advertisements\n
      - Posts must be related to programming or programmer topics
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 297
    +entryCommentCount: 2799
    +postCount: 1
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729523671 {#320
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 100
    +apId: "programmer_humor@programming.dev"
    +apProfileId: "https://programming.dev/c/programmer_humor"
    +apPublicUrl: "https://programming.dev/c/programmer_humor"
    +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "programmer_humor"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726902871 {#321
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#315
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +body: """
    Hacking is really a “montage” type activity, but is treated as something you can show in real time.\n
    \n
    Like, imagine the A-Team building some weapon out of spare parts but you had to watch the entire build process including measuring, cutting, screwing up the cut, throwing away the part and trying again…\n
    \n
    Or, imagine a martial arts film where the hero trains for the big fight… and you include the entire training regimen, showing them getting up at 6am each day to do sit-ups, then following the entire morning run…\n
    \n
    Really a hacking sequence should have those zoomed-in calendars with days flipping by and getting crossed out.\n
    \n
    If they really need the hack to be in the critical path of the action, it should only be something like:\n
    \n
    Boss: *We need to hack the satellite!*  \n
    Hacker: *What model is it?*  \n
    Boss: *It’s a… let me see… KU-STRZ-4 out of Azerbaijan.*  \n
    Hacker: *A 4-series? We’re in luck, NSA’s been sitting on a exploit for that model.*\n
    \n
    Otherwise it’s as stupid as:\n
    \n
    Boss: *We need to defeat Scar Killer in the Kumite tomorrow.*  \n
    Soldier: *I did some basic unarmed combat in boot camp, but…*  \n
    Boss: *You have 24 hours, get training!*  \n
    Next day, the soldier is massively jacked and is throwing flip kicks etc.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 17
  +score: 0
  +lastActive: DateTime @1705523021 {#1769
    date: 2024-01-17 21:23:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@sjmarf@sh.itjust.works"
    "@Kolanaki@yiffit.net"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2356 …}
  +nested: Doctrine\ORM\PersistentCollection {#2355 …}
  +votes: Doctrine\ORM\PersistentCollection {#2428 …}
  +reports: Doctrine\ORM\PersistentCollection {#2436 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2490 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2409 …}
  -id: 317510
  -bodyTs: "'24':210 '4':157,163 '6am':81 'a-team':22 'action':128 'activ':7 'art':59 'away':49 'azerbaijan':160 'basic':200 'big':67 'boot':204 'boss':135,147,185,207 'build':25,39 'calendar':105 'camp':205 'combat':202 'critic':124 'cross':112 'cut':43,47 'day':83,107,215 'defeat':189 'entir':38,73,92 'etc':226 'exploit':175 'fight':68 'film':60 'flip':108,224 'follow':90 'get':78,111,212 'hack':1,97,119,139 'hacker':142,161 'hero':63 'hour':211 'imagin':20,56 'includ':41,71 'jack':220 'kick':225 'killer':191 'ku':155 'ku-strz':154 'kumit':194 'let':151 'like':19,134 'luck':168 'martial':58 'massiv':219 'measur':42 'model':144,178 'montag':5 'morn':93 'need':117,137,187 'next':214 'nsa':169 'otherwis':179 'part':31,51 'path':125 'process':40 're':166 'real':17 'realli':3,95,116 'regimen':75 'run':94 'satellit':141 'scar':190 'screw':44 'see':153 'sequenc':98 'seri':164 'show':15,76 'sit':87,172 'sit-up':86 'soldier':196,217 'someth':12,133 'spare':30 'strz':156 'stupid':183 'team':24 'throw':48,223 'time':18 'tomorrow':195 'train':64,74,213 'treat':10 'tri':53 'type':6 'unarm':201 'up':88 'watch':36 'weapon':27 'zoom':103 'zoomed-in':102"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/7691829"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705523021 {#1969
    date: 2024-01-17 21:23:41.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "programmer_humor@programming.dev"
    +title: "programmer_humor"
    +description: """
      Welcome to Programmer Humor!\n
      \n
      This is a place where you can post jokes, memes, humor, etc. related to programming!\n
      \n
      For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
      \n
      Rules\n
      -----\n
      \n
      - Keep content in english\n
      - No advertisements\n
      - Posts must be related to programming or programmer topics
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 297
    +entryCommentCount: 2799
    +postCount: 1
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729523671 {#320
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 100
    +apId: "programmer_humor@programming.dev"
    +apProfileId: "https://programming.dev/c/programmer_humor"
    +apPublicUrl: "https://programming.dev/c/programmer_humor"
    +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "programmer_humor"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726902871 {#321
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#315
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +body: """
    Hacking is really a “montage” type activity, but is treated as something you can show in real time.\n
    \n
    Like, imagine the A-Team building some weapon out of spare parts but you had to watch the entire build process including measuring, cutting, screwing up the cut, throwing away the part and trying again…\n
    \n
    Or, imagine a martial arts film where the hero trains for the big fight… and you include the entire training regimen, showing them getting up at 6am each day to do sit-ups, then following the entire morning run…\n
    \n
    Really a hacking sequence should have those zoomed-in calendars with days flipping by and getting crossed out.\n
    \n
    If they really need the hack to be in the critical path of the action, it should only be something like:\n
    \n
    Boss: *We need to hack the satellite!*  \n
    Hacker: *What model is it?*  \n
    Boss: *It’s a… let me see… KU-STRZ-4 out of Azerbaijan.*  \n
    Hacker: *A 4-series? We’re in luck, NSA’s been sitting on a exploit for that model.*\n
    \n
    Otherwise it’s as stupid as:\n
    \n
    Boss: *We need to defeat Scar Killer in the Kumite tomorrow.*  \n
    Soldier: *I did some basic unarmed combat in boot camp, but…*  \n
    Boss: *You have 24 hours, get training!*  \n
    Next day, the soldier is massively jacked and is throwing flip kicks etc.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 17
  +score: 0
  +lastActive: DateTime @1705523021 {#1769
    date: 2024-01-17 21:23:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@sjmarf@sh.itjust.works"
    "@Kolanaki@yiffit.net"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2356 …}
  +nested: Doctrine\ORM\PersistentCollection {#2355 …}
  +votes: Doctrine\ORM\PersistentCollection {#2428 …}
  +reports: Doctrine\ORM\PersistentCollection {#2436 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2490 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2409 …}
  -id: 317510
  -bodyTs: "'24':210 '4':157,163 '6am':81 'a-team':22 'action':128 'activ':7 'art':59 'away':49 'azerbaijan':160 'basic':200 'big':67 'boot':204 'boss':135,147,185,207 'build':25,39 'calendar':105 'camp':205 'combat':202 'critic':124 'cross':112 'cut':43,47 'day':83,107,215 'defeat':189 'entir':38,73,92 'etc':226 'exploit':175 'fight':68 'film':60 'flip':108,224 'follow':90 'get':78,111,212 'hack':1,97,119,139 'hacker':142,161 'hero':63 'hour':211 'imagin':20,56 'includ':41,71 'jack':220 'kick':225 'killer':191 'ku':155 'ku-strz':154 'kumit':194 'let':151 'like':19,134 'luck':168 'martial':58 'massiv':219 'measur':42 'model':144,178 'montag':5 'morn':93 'need':117,137,187 'next':214 'nsa':169 'otherwis':179 'part':31,51 'path':125 'process':40 're':166 'real':17 'realli':3,95,116 'regimen':75 'run':94 'satellit':141 'scar':190 'screw':44 'see':153 'sequenc':98 'seri':164 'show':15,76 'sit':87,172 'sit-up':86 'soldier':196,217 'someth':12,133 'spare':30 'strz':156 'stupid':183 'team':24 'throw':48,223 'time':18 'tomorrow':195 'train':64,74,213 'treat':10 'tri':53 'type':6 'unarm':201 'up':88 'watch':36 'weapon':27 'zoom':103 'zoomed-in':102"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/7691829"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705523021 {#1969
    date: 2024-01-17 21:23:41.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\EntryComment {#1374
  +user: Proxies\__CG__\App\Entity\User {#1370 …}
  +entry: App\Entity\Entry {#1856 …}
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "programmer_humor@programming.dev"
    +title: "programmer_humor"
    +description: """
      Welcome to Programmer Humor!\n
      \n
      This is a place where you can post jokes, memes, humor, etc. related to programming!\n
      \n
      For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
      \n
      Rules\n
      -----\n
      \n
      - Keep content in english\n
      - No advertisements\n
      - Posts must be related to programming or programmer topics
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 297
    +entryCommentCount: 2799
    +postCount: 1
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729523671 {#320
      date: 2024-10-21 17:14:31.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 100
    +apId: "programmer_humor@programming.dev"
    +apProfileId: "https://programming.dev/c/programmer_humor"
    +apPublicUrl: "https://programming.dev/c/programmer_humor"
    +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
    +apInboxUrl: "https://programming.dev/inbox"
    +apDomain: "programming.dev"
    +apPreferredUsername: "programmer_humor"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1726902871 {#321
      date: 2024-09-21 09:14:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1700391429 {#315
      date: 2023-11-19 11:57:09.0 +01:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
  +body: """
    Hacking is really a “montage” type activity, but is treated as something you can show in real time.\n
    \n
    Like, imagine the A-Team building some weapon out of spare parts but you had to watch the entire build process including measuring, cutting, screwing up the cut, throwing away the part and trying again…\n
    \n
    Or, imagine a martial arts film where the hero trains for the big fight… and you include the entire training regimen, showing them getting up at 6am each day to do sit-ups, then following the entire morning run…\n
    \n
    Really a hacking sequence should have those zoomed-in calendars with days flipping by and getting crossed out.\n
    \n
    If they really need the hack to be in the critical path of the action, it should only be something like:\n
    \n
    Boss: *We need to hack the satellite!*  \n
    Hacker: *What model is it?*  \n
    Boss: *It’s a… let me see… KU-STRZ-4 out of Azerbaijan.*  \n
    Hacker: *A 4-series? We’re in luck, NSA’s been sitting on a exploit for that model.*\n
    \n
    Otherwise it’s as stupid as:\n
    \n
    Boss: *We need to defeat Scar Killer in the Kumite tomorrow.*  \n
    Soldier: *I did some basic unarmed combat in boot camp, but…*  \n
    Boss: *You have 24 hours, get training!*  \n
    Next day, the soldier is massively jacked and is throwing flip kicks etc.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 17
  +score: 0
  +lastActive: DateTime @1705523021 {#1769
    date: 2024-01-17 21:23:41.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@sjmarf@sh.itjust.works"
    "@Kolanaki@yiffit.net"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2356 …}
  +nested: Doctrine\ORM\PersistentCollection {#2355 …}
  +votes: Doctrine\ORM\PersistentCollection {#2428 …}
  +reports: Doctrine\ORM\PersistentCollection {#2436 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2490 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2409 …}
  -id: 317510
  -bodyTs: "'24':210 '4':157,163 '6am':81 'a-team':22 'action':128 'activ':7 'art':59 'away':49 'azerbaijan':160 'basic':200 'big':67 'boot':204 'boss':135,147,185,207 'build':25,39 'calendar':105 'camp':205 'combat':202 'critic':124 'cross':112 'cut':43,47 'day':83,107,215 'defeat':189 'entir':38,73,92 'etc':226 'exploit':175 'fight':68 'film':60 'flip':108,224 'follow':90 'get':78,111,212 'hack':1,97,119,139 'hacker':142,161 'hero':63 'hour':211 'imagin':20,56 'includ':41,71 'jack':220 'kick':225 'killer':191 'ku':155 'ku-strz':154 'kumit':194 'let':151 'like':19,134 'luck':168 'martial':58 'massiv':219 'measur':42 'model':144,178 'montag':5 'morn':93 'need':117,137,187 'next':214 'nsa':169 'otherwis':179 'part':31,51 'path':125 'process':40 're':166 'real':17 'realli':3,95,116 'regimen':75 'run':94 'satellit':141 'scar':190 'screw':44 'see':153 'sequenc':98 'seri':164 'show':15,76 'sit':87,172 'sit-up':86 'soldier':196,217 'someth':12,133 'spare':30 'strz':156 'stupid':183 'team':24 'throw':48,223 'time':18 'tomorrow':195 'train':64,74,213 'treat':10 'tri':53 'type':6 'unarm':201 'up':88 'watch':36 'weapon':27 'zoom':103 'zoomed-in':102"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sh.itjust.works/comment/7691829"
  +editedAt: null
  +createdAt: DateTimeImmutable @1705523021 {#1969
    date: 2024-01-17 21:23:41.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#312
  +icon: Proxies\__CG__\App\Entity\Image {#293 …}
  +name: "programmer_humor@programming.dev"
  +title: "programmer_humor"
  +description: """
    Welcome to Programmer Humor!\n
    \n
    This is a place where you can post jokes, memes, humor, etc. related to programming!\n
    \n
    For sharing awful code theres also [Programming Horror](https://programming.dev/c/programming_horror).\n
    \n
    Rules\n
    -----\n
    \n
    - Keep content in english\n
    - No advertisements\n
    - Posts must be related to programming or programmer topics
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 297
  +entryCommentCount: 2799
  +postCount: 1
  +postCommentCount: 0
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729523671 {#320
    date: 2024-10-21 17:14:31.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#284 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
  +entries: Doctrine\ORM\PersistentCollection {#227 …}
  +posts: Doctrine\ORM\PersistentCollection {#185 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
  +bans: Doctrine\ORM\PersistentCollection {#164 …}
  +reports: Doctrine\ORM\PersistentCollection {#150 …}
  +badges: Doctrine\ORM\PersistentCollection {#128 …}
  +logs: Doctrine\ORM\PersistentCollection {#118 …}
  +awards: Doctrine\ORM\PersistentCollection {#107 …}
  +categories: Doctrine\ORM\PersistentCollection {#94 …}
  -id: 100
  +apId: "programmer_humor@programming.dev"
  +apProfileId: "https://programming.dev/c/programmer_humor"
  +apPublicUrl: "https://programming.dev/c/programmer_humor"
  +apFollowersUrl: "https://programming.dev/c/programmer_humor/followers"
  +apInboxUrl: "https://programming.dev/inbox"
  +apDomain: "programming.dev"
  +apPreferredUsername: "programmer_humor"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1726902871 {#321
    date: 2024-09-21 09:14:31.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1700391429 {#315
    date: 2023-11-19 11:57:09.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details