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 …}
}
1.04 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 {#1366
  +user: Proxies\__CG__\App\Entity\User {#1378 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "asklemmy@lemmy.world"
    +title: "asklemmy"
    +description: """
      A Fediverse community for open-ended, thought provoking questions\n
      -----------------------------------------------------------------\n
      \n
      ---\n
      \n
      **Rules: (interactive)**\n
      ------------------------\n
      \n
      ---\n
      \n
      1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can’t say something nice, don’t say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. [Please familiarize yourself with them](https://legal.lemmy.world/tos/)\n
      \n
      ---\n
      \n
      2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?\n
      \n
      ---\n
      \n
      3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.\n
      \n
      ---\n
      \n
      4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [!asklemmyafterdark@lemmy.world](https://lemmy.world/c/asklemmyafterdark) or [!asklemmynsfw@lemmynsfw.com](https://lemmynsfw.com/c/asklemmynsfw). NSFW comments should be restricted to posts tagged [NSFW].\n
      \n
      ---\n
      \n
      5) This is not a support community.It is not a place for ‘how do I?’, type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to [Lemmy.world Support](https://lemmy.world/c/support) or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.\n
      \n
      ---\n
      \n
      Reminder: The [terms of service](https://legal.lemmy.world/tos/) apply here too.\n
      \n
      Partnered Communities:\n
      ----------------------\n
      \n
      [Tech Support](/c/techsupport@lemmy.world)\n
      \n
      [No Stupid Questions](/c/nostupidquestions@lemmy.world)\n
      \n
      [You Should Know](/c/youshouldknow@lemmy.world)\n
      \n
      [Reddit](/c/reddit@lemmy.world)\n
      \n
      [Jokes](/c/jokes@lemmy.world)\n
      \n
      [Ask Ouija](/c/askouija@lemmy.world)\n
      \n
      ---\n
      \n
      Logo design credit goes to: [tubbadu](/u/tubbadu@lemmy.world)\n
      \n
      ---\n
      \n
      ![](https://img.shields.io/lemmy/asklemmy%40lemmy.world?logo=lemmy&label=Total%20Subscribers)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1179
    +entryCommentCount: 42676
    +postCount: 3
    +postCommentCount: 67
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583245 {#321
      date: 2024-10-22 09:47:25.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 49
    +apId: "asklemmy@lemmy.world"
    +apProfileId: "https://lemmy.world/c/asklemmy"
    +apPublicUrl: "https://lemmy.world/c/asklemmy"
    +apFollowersUrl: "https://lemmy.world/c/asklemmy/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "asklemmy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583301 {#322
      date: 2024-10-22 09:48:21.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697177027 {#316
      date: 2023-10-13 08:03:47.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2476 …}
  +body: """
    It still leads to unsolvable problems like, what is expected when two instances federate content with eachother? What if you use a web app to use a third party instance and it spits out unsanitized data?\n
    \n
    If you assume it’s part of the API contract, then an evil instance can send you unescaped content and you got an exploit. If you escape it you’ll double escape it from well behaved instances. This applies to apps too: now if Voyager for example starts expecting pre-sanitized data from the API, and it makes an API call to an evil instance that doesn’t? Bam, you’ve got yourself potential XSS. There’s *nothing* they can do to prevent it. Either it’s inherently unsafe, or safe but will double-escape.\n
    \n
    You end up making more vulnerabilities through edge cases than you solve by doing that. Now all an attacker needs to do is find a way to trick you into thinking they have sanitized data when it’s not.\n
    \n
    The only safe transport for user data is raw. You can never assume any user/remote input is pre-sanitized. Apps, even web ones, shouldn’t assume the data is sanitized, they should sanitize it themselves because only then you can guarantee that it will come out correctly, and safely.\n
    \n
    This would only work if you own both the server and the UI that serves it. It immediately falls apart when you don’t control the entire pipeline from submission to display, and on the fediverse with third party clients and apps and instances, you inherently can’t trust anything.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1698293085 {#1605
    date: 2023-10-26 06:04:45.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@bernieecclestoned@sh.itjust.works"
    "@ptz@dubvee.org"
    "@Cosmicomical@kbin.social"
    "@Max_P@lemmy.max-p.me"
    "@Alexstarfire@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2355 …}
  +nested: Doctrine\ORM\PersistentCollection {#2167 …}
  +votes: Doctrine\ORM\PersistentCollection {#2424 …}
  +reports: Doctrine\ORM\PersistentCollection {#2440 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2490 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2409 …}
  -id: 72506
  -bodyTs: "'anyth':272 'apart':242 'api':45,92,97 'app':24,77,193,264 'appli':75 'assum':39,185,199 'attack':152 'bam':106 'behav':72 'call':98 'case':142 'client':262 'come':218 'content':15,55 'contract':46 'control':247 'correct':220 'data':36,89,168,179,201 'display':254 'doesn':104 'doubl':67,132 'double-escap':131 'eachoth':17 'edg':141 'either':122 'end':135 'entir':249 'escap':63,68,133 'even':194 'evil':49,101 'exampl':83 'expect':10,85 'exploit':60 'fall':241 'feder':14 'fedivers':258 'find':157 'got':58,109 'guarante':214 'immedi':240 'inher':125,268 'input':188 'instanc':13,30,50,73,102,266 'lead':3 'like':7 'll':66 'make':95,137 'need':153 'never':184 'noth':115 'one':196 'part':42 'parti':29,261 'pipelin':250 'potenti':111 'pre':87,191 'pre-sanit':86,190 'prevent':120 'problem':6 'raw':181 'safe':128,175,222 'sanit':88,167,192,203,206 'send':52 'serv':237 'server':232 'shouldn':197 'solv':145 'spit':33 'start':84 'still':2 'submiss':252 'think':164 'third':28,260 'transport':176 'trick':161 'trust':271 'two':12 'ui':235 'unescap':54 'unsaf':126 'unsanit':35 'unsolv':5 'use':21,26 'user':178 'user/remote':187 've':108 'voyag':81 'vulner':139 'way':159 'web':23,195 'well':71 'work':226 'would':224 'xss':112"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.max-p.me/comment/1289369"
  +editedAt: null
  +createdAt: DateTimeImmutable @1698293085 {#1945
    date: 2023-10-26 06:04:45.0 +02: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 {#1366
  +user: Proxies\__CG__\App\Entity\User {#1378 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "asklemmy@lemmy.world"
    +title: "asklemmy"
    +description: """
      A Fediverse community for open-ended, thought provoking questions\n
      -----------------------------------------------------------------\n
      \n
      ---\n
      \n
      **Rules: (interactive)**\n
      ------------------------\n
      \n
      ---\n
      \n
      1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can’t say something nice, don’t say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. [Please familiarize yourself with them](https://legal.lemmy.world/tos/)\n
      \n
      ---\n
      \n
      2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?\n
      \n
      ---\n
      \n
      3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.\n
      \n
      ---\n
      \n
      4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [!asklemmyafterdark@lemmy.world](https://lemmy.world/c/asklemmyafterdark) or [!asklemmynsfw@lemmynsfw.com](https://lemmynsfw.com/c/asklemmynsfw). NSFW comments should be restricted to posts tagged [NSFW].\n
      \n
      ---\n
      \n
      5) This is not a support community.It is not a place for ‘how do I?’, type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to [Lemmy.world Support](https://lemmy.world/c/support) or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.\n
      \n
      ---\n
      \n
      Reminder: The [terms of service](https://legal.lemmy.world/tos/) apply here too.\n
      \n
      Partnered Communities:\n
      ----------------------\n
      \n
      [Tech Support](/c/techsupport@lemmy.world)\n
      \n
      [No Stupid Questions](/c/nostupidquestions@lemmy.world)\n
      \n
      [You Should Know](/c/youshouldknow@lemmy.world)\n
      \n
      [Reddit](/c/reddit@lemmy.world)\n
      \n
      [Jokes](/c/jokes@lemmy.world)\n
      \n
      [Ask Ouija](/c/askouija@lemmy.world)\n
      \n
      ---\n
      \n
      Logo design credit goes to: [tubbadu](/u/tubbadu@lemmy.world)\n
      \n
      ---\n
      \n
      ![](https://img.shields.io/lemmy/asklemmy%40lemmy.world?logo=lemmy&label=Total%20Subscribers)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1179
    +entryCommentCount: 42676
    +postCount: 3
    +postCommentCount: 67
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583245 {#321
      date: 2024-10-22 09:47:25.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 49
    +apId: "asklemmy@lemmy.world"
    +apProfileId: "https://lemmy.world/c/asklemmy"
    +apPublicUrl: "https://lemmy.world/c/asklemmy"
    +apFollowersUrl: "https://lemmy.world/c/asklemmy/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "asklemmy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583301 {#322
      date: 2024-10-22 09:48:21.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697177027 {#316
      date: 2023-10-13 08:03:47.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2476 …}
  +body: """
    It still leads to unsolvable problems like, what is expected when two instances federate content with eachother? What if you use a web app to use a third party instance and it spits out unsanitized data?\n
    \n
    If you assume it’s part of the API contract, then an evil instance can send you unescaped content and you got an exploit. If you escape it you’ll double escape it from well behaved instances. This applies to apps too: now if Voyager for example starts expecting pre-sanitized data from the API, and it makes an API call to an evil instance that doesn’t? Bam, you’ve got yourself potential XSS. There’s *nothing* they can do to prevent it. Either it’s inherently unsafe, or safe but will double-escape.\n
    \n
    You end up making more vulnerabilities through edge cases than you solve by doing that. Now all an attacker needs to do is find a way to trick you into thinking they have sanitized data when it’s not.\n
    \n
    The only safe transport for user data is raw. You can never assume any user/remote input is pre-sanitized. Apps, even web ones, shouldn’t assume the data is sanitized, they should sanitize it themselves because only then you can guarantee that it will come out correctly, and safely.\n
    \n
    This would only work if you own both the server and the UI that serves it. It immediately falls apart when you don’t control the entire pipeline from submission to display, and on the fediverse with third party clients and apps and instances, you inherently can’t trust anything.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1698293085 {#1605
    date: 2023-10-26 06:04:45.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@bernieecclestoned@sh.itjust.works"
    "@ptz@dubvee.org"
    "@Cosmicomical@kbin.social"
    "@Max_P@lemmy.max-p.me"
    "@Alexstarfire@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2355 …}
  +nested: Doctrine\ORM\PersistentCollection {#2167 …}
  +votes: Doctrine\ORM\PersistentCollection {#2424 …}
  +reports: Doctrine\ORM\PersistentCollection {#2440 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2490 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2409 …}
  -id: 72506
  -bodyTs: "'anyth':272 'apart':242 'api':45,92,97 'app':24,77,193,264 'appli':75 'assum':39,185,199 'attack':152 'bam':106 'behav':72 'call':98 'case':142 'client':262 'come':218 'content':15,55 'contract':46 'control':247 'correct':220 'data':36,89,168,179,201 'display':254 'doesn':104 'doubl':67,132 'double-escap':131 'eachoth':17 'edg':141 'either':122 'end':135 'entir':249 'escap':63,68,133 'even':194 'evil':49,101 'exampl':83 'expect':10,85 'exploit':60 'fall':241 'feder':14 'fedivers':258 'find':157 'got':58,109 'guarante':214 'immedi':240 'inher':125,268 'input':188 'instanc':13,30,50,73,102,266 'lead':3 'like':7 'll':66 'make':95,137 'need':153 'never':184 'noth':115 'one':196 'part':42 'parti':29,261 'pipelin':250 'potenti':111 'pre':87,191 'pre-sanit':86,190 'prevent':120 'problem':6 'raw':181 'safe':128,175,222 'sanit':88,167,192,203,206 'send':52 'serv':237 'server':232 'shouldn':197 'solv':145 'spit':33 'start':84 'still':2 'submiss':252 'think':164 'third':28,260 'transport':176 'trick':161 'trust':271 'two':12 'ui':235 'unescap':54 'unsaf':126 'unsanit':35 'unsolv':5 'use':21,26 'user':178 'user/remote':187 've':108 'voyag':81 'vulner':139 'way':159 'web':23,195 'well':71 'work':226 'would':224 'xss':112"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.max-p.me/comment/1289369"
  +editedAt: null
  +createdAt: DateTimeImmutable @1698293085 {#1945
    date: 2023-10-26 06:04:45.0 +02: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 {#1366
  +user: Proxies\__CG__\App\Entity\User {#1378 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#313
    +icon: Proxies\__CG__\App\Entity\Image {#294 …}
    +name: "asklemmy@lemmy.world"
    +title: "asklemmy"
    +description: """
      A Fediverse community for open-ended, thought provoking questions\n
      -----------------------------------------------------------------\n
      \n
      ---\n
      \n
      **Rules: (interactive)**\n
      ------------------------\n
      \n
      ---\n
      \n
      1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can’t say something nice, don’t say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. [Please familiarize yourself with them](https://legal.lemmy.world/tos/)\n
      \n
      ---\n
      \n
      2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?\n
      \n
      ---\n
      \n
      3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.\n
      \n
      ---\n
      \n
      4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [!asklemmyafterdark@lemmy.world](https://lemmy.world/c/asklemmyafterdark) or [!asklemmynsfw@lemmynsfw.com](https://lemmynsfw.com/c/asklemmynsfw). NSFW comments should be restricted to posts tagged [NSFW].\n
      \n
      ---\n
      \n
      5) This is not a support community.It is not a place for ‘how do I?’, type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to [Lemmy.world Support](https://lemmy.world/c/support) or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.\n
      \n
      ---\n
      \n
      Reminder: The [terms of service](https://legal.lemmy.world/tos/) apply here too.\n
      \n
      Partnered Communities:\n
      ----------------------\n
      \n
      [Tech Support](/c/techsupport@lemmy.world)\n
      \n
      [No Stupid Questions](/c/nostupidquestions@lemmy.world)\n
      \n
      [You Should Know](/c/youshouldknow@lemmy.world)\n
      \n
      [Reddit](/c/reddit@lemmy.world)\n
      \n
      [Jokes](/c/jokes@lemmy.world)\n
      \n
      [Ask Ouija](/c/askouija@lemmy.world)\n
      \n
      ---\n
      \n
      Logo design credit goes to: [tubbadu](/u/tubbadu@lemmy.world)\n
      \n
      ---\n
      \n
      ![](https://img.shields.io/lemmy/asklemmy%40lemmy.world?logo=lemmy&label=Total%20Subscribers)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1179
    +entryCommentCount: 42676
    +postCount: 3
    +postCommentCount: 67
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583245 {#321
      date: 2024-10-22 09:47:25.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#285 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
    +entries: Doctrine\ORM\PersistentCollection {#228 …}
    +posts: Doctrine\ORM\PersistentCollection {#186 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
    +bans: Doctrine\ORM\PersistentCollection {#165 …}
    +reports: Doctrine\ORM\PersistentCollection {#151 …}
    +badges: Doctrine\ORM\PersistentCollection {#129 …}
    +logs: Doctrine\ORM\PersistentCollection {#119 …}
    +awards: Doctrine\ORM\PersistentCollection {#108 …}
    +categories: Doctrine\ORM\PersistentCollection {#95 …}
    -id: 49
    +apId: "asklemmy@lemmy.world"
    +apProfileId: "https://lemmy.world/c/asklemmy"
    +apPublicUrl: "https://lemmy.world/c/asklemmy"
    +apFollowersUrl: "https://lemmy.world/c/asklemmy/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "asklemmy"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583301 {#322
      date: 2024-10-22 09:48:21.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1697177027 {#316
      date: 2023-10-13 08:03:47.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2476 …}
  +body: """
    It still leads to unsolvable problems like, what is expected when two instances federate content with eachother? What if you use a web app to use a third party instance and it spits out unsanitized data?\n
    \n
    If you assume it’s part of the API contract, then an evil instance can send you unescaped content and you got an exploit. If you escape it you’ll double escape it from well behaved instances. This applies to apps too: now if Voyager for example starts expecting pre-sanitized data from the API, and it makes an API call to an evil instance that doesn’t? Bam, you’ve got yourself potential XSS. There’s *nothing* they can do to prevent it. Either it’s inherently unsafe, or safe but will double-escape.\n
    \n
    You end up making more vulnerabilities through edge cases than you solve by doing that. Now all an attacker needs to do is find a way to trick you into thinking they have sanitized data when it’s not.\n
    \n
    The only safe transport for user data is raw. You can never assume any user/remote input is pre-sanitized. Apps, even web ones, shouldn’t assume the data is sanitized, they should sanitize it themselves because only then you can guarantee that it will come out correctly, and safely.\n
    \n
    This would only work if you own both the server and the UI that serves it. It immediately falls apart when you don’t control the entire pipeline from submission to display, and on the fediverse with third party clients and apps and instances, you inherently can’t trust anything.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1698293085 {#1605
    date: 2023-10-26 06:04:45.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@bernieecclestoned@sh.itjust.works"
    "@ptz@dubvee.org"
    "@Cosmicomical@kbin.social"
    "@Max_P@lemmy.max-p.me"
    "@Alexstarfire@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2355 …}
  +nested: Doctrine\ORM\PersistentCollection {#2167 …}
  +votes: Doctrine\ORM\PersistentCollection {#2424 …}
  +reports: Doctrine\ORM\PersistentCollection {#2440 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2490 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2409 …}
  -id: 72506
  -bodyTs: "'anyth':272 'apart':242 'api':45,92,97 'app':24,77,193,264 'appli':75 'assum':39,185,199 'attack':152 'bam':106 'behav':72 'call':98 'case':142 'client':262 'come':218 'content':15,55 'contract':46 'control':247 'correct':220 'data':36,89,168,179,201 'display':254 'doesn':104 'doubl':67,132 'double-escap':131 'eachoth':17 'edg':141 'either':122 'end':135 'entir':249 'escap':63,68,133 'even':194 'evil':49,101 'exampl':83 'expect':10,85 'exploit':60 'fall':241 'feder':14 'fedivers':258 'find':157 'got':58,109 'guarante':214 'immedi':240 'inher':125,268 'input':188 'instanc':13,30,50,73,102,266 'lead':3 'like':7 'll':66 'make':95,137 'need':153 'never':184 'noth':115 'one':196 'part':42 'parti':29,261 'pipelin':250 'potenti':111 'pre':87,191 'pre-sanit':86,190 'prevent':120 'problem':6 'raw':181 'safe':128,175,222 'sanit':88,167,192,203,206 'send':52 'serv':237 'server':232 'shouldn':197 'solv':145 'spit':33 'start':84 'still':2 'submiss':252 'think':164 'third':28,260 'transport':176 'trick':161 'trust':271 'two':12 'ui':235 'unescap':54 'unsaf':126 'unsanit':35 'unsolv':5 'use':21,26 'user':178 'user/remote':187 've':108 'voyag':81 'vulner':139 'way':159 'web':23,195 'well':71 'work':226 'would':224 'xss':112"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.max-p.me/comment/1289369"
  +editedAt: null
  +createdAt: DateTimeImmutable @1698293085 {#1945
    date: 2023-10-26 06:04:45.0 +02: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 {#313
  +icon: Proxies\__CG__\App\Entity\Image {#294 …}
  +name: "asklemmy@lemmy.world"
  +title: "asklemmy"
  +description: """
    A Fediverse community for open-ended, thought provoking questions\n
    -----------------------------------------------------------------\n
    \n
    ---\n
    \n
    **Rules: (interactive)**\n
    ------------------------\n
    \n
    ---\n
    \n
    1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can’t say something nice, don’t say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. [Please familiarize yourself with them](https://legal.lemmy.world/tos/)\n
    \n
    ---\n
    \n
    2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?\n
    \n
    ---\n
    \n
    3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.\n
    \n
    ---\n
    \n
    4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either [!asklemmyafterdark@lemmy.world](https://lemmy.world/c/asklemmyafterdark) or [!asklemmynsfw@lemmynsfw.com](https://lemmynsfw.com/c/asklemmynsfw). NSFW comments should be restricted to posts tagged [NSFW].\n
    \n
    ---\n
    \n
    5) This is not a support community.It is not a place for ‘how do I?’, type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to [Lemmy.world Support](https://lemmy.world/c/support) or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.\n
    \n
    ---\n
    \n
    Reminder: The [terms of service](https://legal.lemmy.world/tos/) apply here too.\n
    \n
    Partnered Communities:\n
    ----------------------\n
    \n
    [Tech Support](/c/techsupport@lemmy.world)\n
    \n
    [No Stupid Questions](/c/nostupidquestions@lemmy.world)\n
    \n
    [You Should Know](/c/youshouldknow@lemmy.world)\n
    \n
    [Reddit](/c/reddit@lemmy.world)\n
    \n
    [Jokes](/c/jokes@lemmy.world)\n
    \n
    [Ask Ouija](/c/askouija@lemmy.world)\n
    \n
    ---\n
    \n
    Logo design credit goes to: [tubbadu](/u/tubbadu@lemmy.world)\n
    \n
    ---\n
    \n
    ![](https://img.shields.io/lemmy/asklemmy%40lemmy.world?logo=lemmy&label=Total%20Subscribers)
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 1179
  +entryCommentCount: 42676
  +postCount: 3
  +postCommentCount: 67
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729583245 {#321
    date: 2024-10-22 09:47:25.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#285 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#281 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#270 …}
  +entries: Doctrine\ORM\PersistentCollection {#228 …}
  +posts: Doctrine\ORM\PersistentCollection {#186 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#248 …}
  +bans: Doctrine\ORM\PersistentCollection {#165 …}
  +reports: Doctrine\ORM\PersistentCollection {#151 …}
  +badges: Doctrine\ORM\PersistentCollection {#129 …}
  +logs: Doctrine\ORM\PersistentCollection {#119 …}
  +awards: Doctrine\ORM\PersistentCollection {#108 …}
  +categories: Doctrine\ORM\PersistentCollection {#95 …}
  -id: 49
  +apId: "asklemmy@lemmy.world"
  +apProfileId: "https://lemmy.world/c/asklemmy"
  +apPublicUrl: "https://lemmy.world/c/asklemmy"
  +apFollowersUrl: "https://lemmy.world/c/asklemmy/followers"
  +apInboxUrl: "https://lemmy.world/inbox"
  +apDomain: "lemmy.world"
  +apPreferredUsername: "asklemmy"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1729583301 {#322
    date: 2024-10-22 09:48:21.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1697177027 {#316
    date: 2023-10-13 08:03:47.0 +02: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