Ah oui, je m'amuse à ça régulièrement.
Pour faire court : lorsque vous créez une URL avec, dedans, l'ID de l'objet/élément que vous voulez afficher, cela signifie que si on entre manuellement un ID à la place d'un autre, on peut afficher cet objet/élément.
Rien de bien grave en soi, puisqu'il existe des systèmes pour vérifier qu'un utilisateur a bien accès au contenu demandé, ou qu'il s'agit d'un usage qui n'est pas problématique (site marchand qui affiche un produit, etc.)
Le problème, c'est quand votre ID est auto-incrémenté : lorsque vous ajoutez un élément, son ID augmente de 1 par rapport au dernier élément inséré. Dans l'exemple cité dans l'article, il est ainsi possible de parcourir les annonces facilement, y compris les anciennes qui ne sont pas directement disponibles depuis un lien du site. Et d'en déduire combien d'offres d'emploi ont été publiées. Pour le site de l'exemple, c'est 1050. En un an. Du coup, ça donne une idée de comment marche le site, une idée de son chiffre d'affaire, etc.
Bien pire que ça cependant : les développeurs qui utilisent des identifiants de session auto-incrémentés. Connectez vous à un site qui utilise un tel système, puis ajouter ± 1 à votre identifiant de session : vous voilà connecté avec la session d'un autre. Magique non ?
Bref, les ID auto-incrémentés dans les URL, c'est le mal. Utilisez des UUID ou des URL "user-friendly".