Ho sentito persone che parlano qui e là su Internet che è meglio oscurare gli ID dei database di fronte pubblico nelle applicazioni web. Suppongo che significano principalmente nelle forme e negli url, ma non ho mai letto niente di più di un boccone sull'argomento.
EDIT : Naturalmente, ora che lo chiedo, trovo alcune risorse sull'argomento:
Questi link soddisfano alcune delle mie curiosità, ma i post SO non hanno molti voti e non sono necessariamente centrati attorno all'argomento in questo contesto, quindi non sono sicuro di cosa farne, e alcuni di essi sostengono che il terzo link è falso. Lascerò il resto del mio post intatto:
Capisco le differenze tra oscurità e sicurezza, così come i due possono lavorare insieme, ma non riesco a immaginare perché sarebbe necessario.
C'è qualche verità in questo, è solo paranoia, o è solo completamente falso?
Posso pensare a modi per farlo, ma ovviamente aggiunge molta complessità al codice dell'applicazione. In quali circostanze sarebbe utile? Se questo è qualcosa che le persone spesso fanno, come viene solitamente utilizzato? Hashing degli identificatori? Qualcos'altro? Sembra un sacco di lavoro per non molta sicurezza extra. Non sto cercando soluzioni reali, voglio solo avere un'idea di come / perché le persone farebbero questo nel mondo reale.
Questa è davvero considerata una "best practice" o è semplicemente una micro-ottimizzazione di scarso valore?
NOTA : penso che alcuni potrebbero aver avuto un'idea sbagliata: non sto suggerendo che gli ID difficili da indovinare sarebbero il meccanismo di sicurezza solo , ovviamente ci sarebbero stati i soliti controlli di accesso. Supponiamo che siano a posto e che semplicemente conoscere l'id o l'ID hash di un record non sia sufficiente per garantire l'accesso.