Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8951135
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T13:35:34+00:00 2026-06-15T13:35:34+00:00

Say I have a Products array in my Mongodb. I’d like users to be

  • 0

Say I have a Products array in my Mongodb. I’d like users to be able to see each product on their own page: http://www.mysite.com/product/12345/Widget-Wodget. Since each Product doesn’t have an incremental integer ID (12345) but instead it has a BSON ID (5063a36bdeb13f7505000630), I’d need to either add the integer ID or use the BSON ID.

Since BSON ID’s include the PID:

  • 4-byte timestamp,
  • 3-byte machine identifier,
  • 2-byte process id,
  • 3-byte counter.

Am I exposing secure information to the outside world if I use the BSON ID in my url?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T13:35:35+00:00Added an answer on June 15, 2026 at 1:35 pm

    I can’t think of any use to gain privileges on your machines, however using ObjectIds everywhere discloses a lot of information nonetheless.

    By crawling your website, one could:

    • find about some hidden objects: for instance, if the counter part goes from 0x….b1 to 0x….b9 between times t1 and t2, one can guess ObjectIds within these invervals. However, guessing ids is most likely useless if you enforce access permissions
    • know the signup date of each user (not very sensitive info but better than nothing)
    • deduce actual (as opposed to publicly available) business hours from the timestamps of objects created by the staff
    • deduce in which timezones your audience lives from the timestamps of user-generated objects: if your website is one which people use mostly at lunchtime, then one could measure peaks of ObjectIds and deduce that a peak at 8 PM UTC means the audience was on the US West coast
    • and more generally, by crawling most of your website, one can build a timeline of the success of your service, having for any given time knowledge of: your user count, levels of user engagement, how many servers you’ve got, how often your servers are restarted. PID changes occurring on weekends are more likely crashes, whereas those on business days are more likely crashes + software revisions
    • and probably find other info specific to your business processes and domain

    To be fair, even with random ids one can infer a lot. The main issue is that you need to prevent anyone from scraping a statistically significant part of your site. But if someone is determined, they’ll succeed eventually, which is why providing them with all of this extra, timestamped info seems wrong.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Lets say you have 2 models... Store :has_many products Product :belongs_to store ..and the
I have two models, say Product and Bundle. products table is related to product_prices
Let's say we have a code portion like this: IProduct product = ProductCreator.CreateProduct(); //Factory
When a user is buying a product (lets say they have 3 products) and
Say that I have an array like the following: Array ( [arm] => Array
I have a array of data ,let us say var products =[]; products array
say I have an array like this: [Option] => Array ( [0] => Array
Say i have those 3 arrays : Product(milk,candy,chocolate) Colors(white,red,black) Rating(8,7,9) How to create a
Let's say I have two tables -- Products and Orders. For the sake of
Let's say I have a large database that consists of products in groups. Let's

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.