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 …}
}
21.49 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.05 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 {#1370
  +user: Proxies\__CG__\App\Entity\User {#1375 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#311
    +icon: Proxies\__CG__\App\Entity\Image {#292 …}
    +name: "memes@lemmy.ml"
    +title: "memes"
    +description: """
      #### Rules:\n
      \n
      1. Be civil and nice.\n
      2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you *have* to.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 5926
    +entryCommentCount: 65073
    +postCount: 25
    +postCommentCount: 152
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583092 {#319
      date: 2024-10-22 09:44:52.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#283 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
    +entries: Doctrine\ORM\PersistentCollection {#226 …}
    +posts: Doctrine\ORM\PersistentCollection {#184 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
    +bans: Doctrine\ORM\PersistentCollection {#163 …}
    +reports: Doctrine\ORM\PersistentCollection {#149 …}
    +badges: Doctrine\ORM\PersistentCollection {#127 …}
    +logs: Doctrine\ORM\PersistentCollection {#117 …}
    +awards: Doctrine\ORM\PersistentCollection {#106 …}
    +categories: Doctrine\ORM\PersistentCollection {#93 …}
    -id: 38
    +apId: "memes@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/memes"
    +apPublicUrl: "https://lemmy.ml/c/memes"
    +apFollowersUrl: "https://lemmy.ml/c/memes/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "memes"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728572889 {#320
      date: 2024-10-10 17:08:09.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428223 {#314
      date: 2023-10-04 16:03:43.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2475 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2353 …}
  +body: """
    I’d say the approach is potentially vulnerable, but the tech isn’t *quite* there. The modern approach to password cracking is to take a huge dictionary, and run permutations on it, like change a’s to @'s, capitalizing first letters or adding numbers in the end. Any cracker worth their salt will have something like “add _netflix” as a permutation, too. I don’t think that anyone would have “NutFlex” in there, yet, but it’s possible if one of them stumbles on your leaked password from somewhere else.\n
    \n
    As for “basic text”, do you mean like .txt’s? And do you store the entire password there? We do have viruses that scan for crypto wallets and it’s seed phrases already. It’s not too far fetched to imagine one that would cross-match any txt’s contents in the system with browser’s saved logins.\n
    \n
    The most glaring issue I see is that the bastardization is effectively part of your password. With 1000+ passwords it’s going to be easy to forget (was it nutflix, sneedtflex, nyetflex or something?) and it’s going to be hard to find it if you don’t manage the codes properly. I recently had to scan over every single of my password manager entries (forgot a 100% random login, password *and* domain), and let me tell ya, It wasn’t fun.\n
    \n
    You could possibly switch to a “client-side salting” approach, having a strong consistent password in you head, and storing a short but truly random suffixes for each service. e.g. text file named “Netflix” containing something like “T3M#f” and the final password would be something like “hunter2T3M#f”. At least that’s what responsible sites do to protect people who have simple/matching passwords. You could even store those suffixes somewhere semi-openly, like in a messenger as messages to yourself. But at that point, it’s probably easier to go with a password manager. Though that’s an option if you don’t trust those.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1698398643 {#1602
    date: 2023-10-27 11:24:03.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@woshang@lemmy.world"
    "@Holzkohlen@feddit.de"
    "@tilcica@lemm.ee"
    "@MrVilliam@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2356 …}
  +nested: Doctrine\ORM\PersistentCollection {#2466 …}
  +votes: Doctrine\ORM\PersistentCollection {#2444 …}
  +reports: Doctrine\ORM\PersistentCollection {#2357 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2474 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2488 …}
  -id: 74405
  -bodyTs: "'100':217 '1000':167 'ad':43 'add':57 'alreadi':123 'anyon':68 'approach':5,18,242 'basic':93 'bastard':159 'browser':146 'capit':39 'chang':34 'client':239 'client-sid':238 'code':200 'consist':246 'contain':267 'content':141 'could':233,298 'crack':21 'cracker':49 'cross':136 'cross-match':135 'crypto':116 'd':2 'dictionari':27 'domain':222 'e.g':262 'easi':174 'easier':322 'effect':161 'els':90 'end':47 'entir':106 'entri':214 'even':299 'everi':208 'f':271,281 'far':128 'fetch':129 'file':264 'final':274 'find':192 'first':40 'forget':176 'forgot':215 'fun':231 'glare':152 'go':171,187,324 'hard':190 'head':250 'huge':26 'hunter2t3m':280 'imagin':131 'isn':12 'issu':153 'leak':86 'least':283 'let':224 'letter':41 'like':33,56,98,269,279,307 'login':149,219 'manag':198,213,328 'match':137 'mean':97 'messag':312 'messeng':310 'modern':17 'name':265 'netflix':58,266 'number':44 'nutflex':71 'nutflix':179 'nyetflex':181 'one':80,132 'open':306 'option':333 'part':162 'password':20,87,107,165,168,212,220,247,275,296,327 'peopl':292 'permut':30,61 'phrase':122 'point':318 'possibl':78,234 'potenti':7 'probabl':321 'proper':201 'protect':291 'quit':14 'random':218,257 'recent':203 'respons':287 'run':29 'salt':52,241 'save':148 'say':3 'scan':114,206 'see':155 'seed':121 'semi':305 'semi-open':304 'servic':261 'short':254 'side':240 'simple/matching':295 'singl':209 'site':288 'sneedtflex':180 'someth':55,183,268,278 'somewher':89,303 'store':104,252,300 'strong':245 'stumbl':83 'suffix':258,302 'switch':235 'system':144 't3m':270 'take':24 'tech':11 'tell':226 'text':94,263 'think':66 'though':329 'truli':256 'trust':338 'txt':99,139 'virus':112 'vulner':8 'wallet':117 'wasn':229 'worth':50 'would':69,134,276 'ya':227 'yet':74"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/5389372"
  +editedAt: DateTimeImmutable @1704911464 {#1941
    date: 2024-01-10 19:31:04.0 +01:00
  }
  +createdAt: DateTimeImmutable @1698398643 {#1396
    date: 2023-10-27 11:24:03.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 {#1370
  +user: Proxies\__CG__\App\Entity\User {#1375 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#311
    +icon: Proxies\__CG__\App\Entity\Image {#292 …}
    +name: "memes@lemmy.ml"
    +title: "memes"
    +description: """
      #### Rules:\n
      \n
      1. Be civil and nice.\n
      2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you *have* to.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 5926
    +entryCommentCount: 65073
    +postCount: 25
    +postCommentCount: 152
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583092 {#319
      date: 2024-10-22 09:44:52.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#283 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
    +entries: Doctrine\ORM\PersistentCollection {#226 …}
    +posts: Doctrine\ORM\PersistentCollection {#184 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
    +bans: Doctrine\ORM\PersistentCollection {#163 …}
    +reports: Doctrine\ORM\PersistentCollection {#149 …}
    +badges: Doctrine\ORM\PersistentCollection {#127 …}
    +logs: Doctrine\ORM\PersistentCollection {#117 …}
    +awards: Doctrine\ORM\PersistentCollection {#106 …}
    +categories: Doctrine\ORM\PersistentCollection {#93 …}
    -id: 38
    +apId: "memes@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/memes"
    +apPublicUrl: "https://lemmy.ml/c/memes"
    +apFollowersUrl: "https://lemmy.ml/c/memes/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "memes"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728572889 {#320
      date: 2024-10-10 17:08:09.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428223 {#314
      date: 2023-10-04 16:03:43.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2475 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2353 …}
  +body: """
    I’d say the approach is potentially vulnerable, but the tech isn’t *quite* there. The modern approach to password cracking is to take a huge dictionary, and run permutations on it, like change a’s to @'s, capitalizing first letters or adding numbers in the end. Any cracker worth their salt will have something like “add _netflix” as a permutation, too. I don’t think that anyone would have “NutFlex” in there, yet, but it’s possible if one of them stumbles on your leaked password from somewhere else.\n
    \n
    As for “basic text”, do you mean like .txt’s? And do you store the entire password there? We do have viruses that scan for crypto wallets and it’s seed phrases already. It’s not too far fetched to imagine one that would cross-match any txt’s contents in the system with browser’s saved logins.\n
    \n
    The most glaring issue I see is that the bastardization is effectively part of your password. With 1000+ passwords it’s going to be easy to forget (was it nutflix, sneedtflex, nyetflex or something?) and it’s going to be hard to find it if you don’t manage the codes properly. I recently had to scan over every single of my password manager entries (forgot a 100% random login, password *and* domain), and let me tell ya, It wasn’t fun.\n
    \n
    You could possibly switch to a “client-side salting” approach, having a strong consistent password in you head, and storing a short but truly random suffixes for each service. e.g. text file named “Netflix” containing something like “T3M#f” and the final password would be something like “hunter2T3M#f”. At least that’s what responsible sites do to protect people who have simple/matching passwords. You could even store those suffixes somewhere semi-openly, like in a messenger as messages to yourself. But at that point, it’s probably easier to go with a password manager. Though that’s an option if you don’t trust those.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1698398643 {#1602
    date: 2023-10-27 11:24:03.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@woshang@lemmy.world"
    "@Holzkohlen@feddit.de"
    "@tilcica@lemm.ee"
    "@MrVilliam@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2356 …}
  +nested: Doctrine\ORM\PersistentCollection {#2466 …}
  +votes: Doctrine\ORM\PersistentCollection {#2444 …}
  +reports: Doctrine\ORM\PersistentCollection {#2357 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2474 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2488 …}
  -id: 74405
  -bodyTs: "'100':217 '1000':167 'ad':43 'add':57 'alreadi':123 'anyon':68 'approach':5,18,242 'basic':93 'bastard':159 'browser':146 'capit':39 'chang':34 'client':239 'client-sid':238 'code':200 'consist':246 'contain':267 'content':141 'could':233,298 'crack':21 'cracker':49 'cross':136 'cross-match':135 'crypto':116 'd':2 'dictionari':27 'domain':222 'e.g':262 'easi':174 'easier':322 'effect':161 'els':90 'end':47 'entir':106 'entri':214 'even':299 'everi':208 'f':271,281 'far':128 'fetch':129 'file':264 'final':274 'find':192 'first':40 'forget':176 'forgot':215 'fun':231 'glare':152 'go':171,187,324 'hard':190 'head':250 'huge':26 'hunter2t3m':280 'imagin':131 'isn':12 'issu':153 'leak':86 'least':283 'let':224 'letter':41 'like':33,56,98,269,279,307 'login':149,219 'manag':198,213,328 'match':137 'mean':97 'messag':312 'messeng':310 'modern':17 'name':265 'netflix':58,266 'number':44 'nutflex':71 'nutflix':179 'nyetflex':181 'one':80,132 'open':306 'option':333 'part':162 'password':20,87,107,165,168,212,220,247,275,296,327 'peopl':292 'permut':30,61 'phrase':122 'point':318 'possibl':78,234 'potenti':7 'probabl':321 'proper':201 'protect':291 'quit':14 'random':218,257 'recent':203 'respons':287 'run':29 'salt':52,241 'save':148 'say':3 'scan':114,206 'see':155 'seed':121 'semi':305 'semi-open':304 'servic':261 'short':254 'side':240 'simple/matching':295 'singl':209 'site':288 'sneedtflex':180 'someth':55,183,268,278 'somewher':89,303 'store':104,252,300 'strong':245 'stumbl':83 'suffix':258,302 'switch':235 'system':144 't3m':270 'take':24 'tech':11 'tell':226 'text':94,263 'think':66 'though':329 'truli':256 'trust':338 'txt':99,139 'virus':112 'vulner':8 'wallet':117 'wasn':229 'worth':50 'would':69,134,276 'ya':227 'yet':74"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/5389372"
  +editedAt: DateTimeImmutable @1704911464 {#1941
    date: 2024-01-10 19:31:04.0 +01:00
  }
  +createdAt: DateTimeImmutable @1698398643 {#1396
    date: 2023-10-27 11:24:03.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 {#1370
  +user: Proxies\__CG__\App\Entity\User {#1375 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#311
    +icon: Proxies\__CG__\App\Entity\Image {#292 …}
    +name: "memes@lemmy.ml"
    +title: "memes"
    +description: """
      #### Rules:\n
      \n
      1. Be civil and nice.\n
      2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you *have* to.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 5926
    +entryCommentCount: 65073
    +postCount: 25
    +postCommentCount: 152
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583092 {#319
      date: 2024-10-22 09:44:52.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#283 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
    +entries: Doctrine\ORM\PersistentCollection {#226 …}
    +posts: Doctrine\ORM\PersistentCollection {#184 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
    +bans: Doctrine\ORM\PersistentCollection {#163 …}
    +reports: Doctrine\ORM\PersistentCollection {#149 …}
    +badges: Doctrine\ORM\PersistentCollection {#127 …}
    +logs: Doctrine\ORM\PersistentCollection {#117 …}
    +awards: Doctrine\ORM\PersistentCollection {#106 …}
    +categories: Doctrine\ORM\PersistentCollection {#93 …}
    -id: 38
    +apId: "memes@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/memes"
    +apPublicUrl: "https://lemmy.ml/c/memes"
    +apFollowersUrl: "https://lemmy.ml/c/memes/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "memes"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728572889 {#320
      date: 2024-10-10 17:08:09.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428223 {#314
      date: 2023-10-04 16:03:43.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2475 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2353 …}
  +body: """
    I’d say the approach is potentially vulnerable, but the tech isn’t *quite* there. The modern approach to password cracking is to take a huge dictionary, and run permutations on it, like change a’s to @'s, capitalizing first letters or adding numbers in the end. Any cracker worth their salt will have something like “add _netflix” as a permutation, too. I don’t think that anyone would have “NutFlex” in there, yet, but it’s possible if one of them stumbles on your leaked password from somewhere else.\n
    \n
    As for “basic text”, do you mean like .txt’s? And do you store the entire password there? We do have viruses that scan for crypto wallets and it’s seed phrases already. It’s not too far fetched to imagine one that would cross-match any txt’s contents in the system with browser’s saved logins.\n
    \n
    The most glaring issue I see is that the bastardization is effectively part of your password. With 1000+ passwords it’s going to be easy to forget (was it nutflix, sneedtflex, nyetflex or something?) and it’s going to be hard to find it if you don’t manage the codes properly. I recently had to scan over every single of my password manager entries (forgot a 100% random login, password *and* domain), and let me tell ya, It wasn’t fun.\n
    \n
    You could possibly switch to a “client-side salting” approach, having a strong consistent password in you head, and storing a short but truly random suffixes for each service. e.g. text file named “Netflix” containing something like “T3M#f” and the final password would be something like “hunter2T3M#f”. At least that’s what responsible sites do to protect people who have simple/matching passwords. You could even store those suffixes somewhere semi-openly, like in a messenger as messages to yourself. But at that point, it’s probably easier to go with a password manager. Though that’s an option if you don’t trust those.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 0
  +score: 0
  +lastActive: DateTime @1698398643 {#1602
    date: 2023-10-27 11:24:03.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@woshang@lemmy.world"
    "@Holzkohlen@feddit.de"
    "@tilcica@lemm.ee"
    "@MrVilliam@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2356 …}
  +nested: Doctrine\ORM\PersistentCollection {#2466 …}
  +votes: Doctrine\ORM\PersistentCollection {#2444 …}
  +reports: Doctrine\ORM\PersistentCollection {#2357 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2474 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2488 …}
  -id: 74405
  -bodyTs: "'100':217 '1000':167 'ad':43 'add':57 'alreadi':123 'anyon':68 'approach':5,18,242 'basic':93 'bastard':159 'browser':146 'capit':39 'chang':34 'client':239 'client-sid':238 'code':200 'consist':246 'contain':267 'content':141 'could':233,298 'crack':21 'cracker':49 'cross':136 'cross-match':135 'crypto':116 'd':2 'dictionari':27 'domain':222 'e.g':262 'easi':174 'easier':322 'effect':161 'els':90 'end':47 'entir':106 'entri':214 'even':299 'everi':208 'f':271,281 'far':128 'fetch':129 'file':264 'final':274 'find':192 'first':40 'forget':176 'forgot':215 'fun':231 'glare':152 'go':171,187,324 'hard':190 'head':250 'huge':26 'hunter2t3m':280 'imagin':131 'isn':12 'issu':153 'leak':86 'least':283 'let':224 'letter':41 'like':33,56,98,269,279,307 'login':149,219 'manag':198,213,328 'match':137 'mean':97 'messag':312 'messeng':310 'modern':17 'name':265 'netflix':58,266 'number':44 'nutflex':71 'nutflix':179 'nyetflex':181 'one':80,132 'open':306 'option':333 'part':162 'password':20,87,107,165,168,212,220,247,275,296,327 'peopl':292 'permut':30,61 'phrase':122 'point':318 'possibl':78,234 'potenti':7 'probabl':321 'proper':201 'protect':291 'quit':14 'random':218,257 'recent':203 'respons':287 'run':29 'salt':52,241 'save':148 'say':3 'scan':114,206 'see':155 'seed':121 'semi':305 'semi-open':304 'servic':261 'short':254 'side':240 'simple/matching':295 'singl':209 'site':288 'sneedtflex':180 'someth':55,183,268,278 'somewher':89,303 'store':104,252,300 'strong':245 'stumbl':83 'suffix':258,302 'switch':235 'system':144 't3m':270 'take':24 'tech':11 'tell':226 'text':94,263 'think':66 'though':329 'truli':256 'trust':338 'txt':99,139 'virus':112 'vulner':8 'wallet':117 'wasn':229 'worth':50 'would':69,134,276 'ya':227 'yet':74"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/5389372"
  +editedAt: DateTimeImmutable @1704911464 {#1941
    date: 2024-01-10 19:31:04.0 +01:00
  }
  +createdAt: DateTimeImmutable @1698398643 {#1396
    date: 2023-10-27 11:24:03.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 {#311
  +icon: Proxies\__CG__\App\Entity\Image {#292 …}
  +name: "memes@lemmy.ml"
  +title: "memes"
  +description: """
    #### Rules:\n
    \n
    1. Be civil and nice.\n
    2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you *have* to.
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 5926
  +entryCommentCount: 65073
  +postCount: 25
  +postCommentCount: 152
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729583092 {#319
    date: 2024-10-22 09:44:52.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#283 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
  +entries: Doctrine\ORM\PersistentCollection {#226 …}
  +posts: Doctrine\ORM\PersistentCollection {#184 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
  +bans: Doctrine\ORM\PersistentCollection {#163 …}
  +reports: Doctrine\ORM\PersistentCollection {#149 …}
  +badges: Doctrine\ORM\PersistentCollection {#127 …}
  +logs: Doctrine\ORM\PersistentCollection {#117 …}
  +awards: Doctrine\ORM\PersistentCollection {#106 …}
  +categories: Doctrine\ORM\PersistentCollection {#93 …}
  -id: 38
  +apId: "memes@lemmy.ml"
  +apProfileId: "https://lemmy.ml/c/memes"
  +apPublicUrl: "https://lemmy.ml/c/memes"
  +apFollowersUrl: "https://lemmy.ml/c/memes/followers"
  +apInboxUrl: "https://lemmy.ml/inbox"
  +apDomain: "lemmy.ml"
  +apPreferredUsername: "memes"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1728572889 {#320
    date: 2024-10-10 17:08:09.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1696428223 {#314
    date: 2023-10-04 16:03:43.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