# URL Hiding

**URL:** <https://www.ruby-forum.com/t/url-hiding/190216>\
**Category:** Rails\
**Created:** [June 17, 2010, 4:22pm UTC](https://www.ruby-forum.com/t/url-hiding/190216 "2010-06-17T16:22:23Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![JuKuen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/7ba0ec/32.png) [@JuKuen](https://www.ruby-forum.com/u/JuKuen)\
**Post date:** [June 17, 2010, 4:22pm UTC](https://www.ruby-forum.com/t/url-hiding/190216/1 "2010-06-17T16:22:23Z")

</div>

Greetings friends,

Please, take my apologies, if the question was asked before.

I`m interested to find out, how to integrate URL hiding technology  
into Rails app.  
Any help will be helpful.

Thanks in Advance

---

<div class="post-metadata">

**Author:** ![JuKuen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/7ba0ec/32.png) [@JuKuen](https://www.ruby-forum.com/u/JuKuen)\
**Post date:** [June 17, 2010, 4:22pm UTC](https://www.ruby-forum.com/t/url-hiding/190216/2 "2010-06-17T16:22:43Z")

</div>

What do you mean of URL hiding?? can you give an example??

---

<div class="post-metadata">

**Author:** ![JuKuen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/7ba0ec/32.png) [@JuKuen](https://www.ruby-forum.com/u/JuKuen)\
**Post date:** [June 17, 2010, 4:22pm UTC](https://www.ruby-forum.com/t/url-hiding/190216/3 "2010-06-17T16:22:43Z")

</div>

Someting like Amazon`s strings, which are generating as url`s.

regards

---

<div class="post-metadata">

**Author:** ![JuKuen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/7ba0ec/32.png) [@JuKuen](https://www.ruby-forum.com/u/JuKuen)\
**Post date:** [June 17, 2010, 4:26pm UTC](https://www.ruby-forum.com/t/url-hiding/190216/4 "2010-06-17T16:26:21Z")

</div>

On Wed, Jun 16, 2010 at 12:52 AM, JuKuen [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Someting like Amazon`s strings, which are generating as url`s.

I still have no idea what you’re talking about.

Maybe you could provide an actual example, or explain what goal you  
are trying to achieve?

–  
Hassan S. ------------------------ removed\_email\_address@domain.invalid  
twitter: @hassan

---

<div class="post-metadata">

**Author:** ![JuKuen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/7ba0ec/32.png) [@JuKuen](https://www.ruby-forum.com/u/JuKuen)\
**Post date:** [June 17, 2010, 4:26pm UTC](https://www.ruby-forum.com/t/url-hiding/190216/5 "2010-06-17T16:26:23Z")

</div>

The idea is generating url`s which will hide what is the database used  
to store the information and hiding the server side language wrapper.  
example:  
[http://www.amazon.com/gp/product/1934356166/ref=s9\_simv\_bw\_p14\_i2?pf\_rd\_m=ATVPDKIKX0DER&pf\_rd\_s=center-4&pf\_rd\_r=0QDPNRG9W6H5YTMMF2G9&pf\_rd\_t=101&pf\_rd\_p=41171042&pf\_rd\_i=283155](http://www.amazon.com/gp/product/1934356166/ref=s9_simv_bw_p14_i2?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=0QDPNRG9W6H5YTMMF2G9&pf_rd_t=101&pf_rd_p=41171042&pf_rd_i=283155)  
the idea is in the string generated after the product/ folder

On Jun 16, 6:01 pm, Hassan S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![JuKuen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/7ba0ec/32.png) [@JuKuen](https://www.ruby-forum.com/u/JuKuen)\
**Post date:** [June 17, 2010, 4:34pm UTC](https://www.ruby-forum.com/t/url-hiding/190216/6 "2010-06-17T16:34:40Z")

</div>

On 16 June 2010 17:28, JuKuen [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> The idea is generating url`s which will hide what is the database used  
> to store the information and hiding the server side language wrapper.

What do _your_ URLs look like now that gives away the DB and  
server-side language?

---

<div class="post-metadata">

**Author:** ![JuKuen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/7ba0ec/32.png) [@JuKuen](https://www.ruby-forum.com/u/JuKuen)\
**Post date:** [June 17, 2010, 4:26pm UTC](https://www.ruby-forum.com/t/url-hiding/190216/7 "2010-06-17T16:26:59Z")

</div>

On Jun 16, 2010, at 9:28 AM, JuKuen wrote:

> The idea is generating url`s which will hide what is the database used  
> to store the information and hiding the server side language wrapper.  
> example:  
> [http://www.amazon.com/gp/product/1934356166/ref=s9\_simv\_bw\_p14\_i2?pf\_rd\_m=ATVPDKIKX0DER&pf\_rd\_s=center-4&pf\_rd\_r=0QDPNRG9W6H5YTMMF2G9&pf\_rd\_t=101&pf\_rd\_p=41171042&pf\_rd\_i=283155](http://www.amazon.com/gp/product/1934356166/ref=s9_simv_bw_p14_i2?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-4&pf_rd_r=0QDPNRG9W6H5YTMMF2G9&pf_rd_t=101&pf_rd_p=41171042&pf_rd_i=283155)  
> the idea is in the string generated after the product/ folder

Hiding the database shouldn’t require any additional work beyond making  
sure your error messages don’t point out that the database is.

Hiding the server side language is harder… regardless of what URL you  
use.

For example… if /images/rails.png exists, good chance it’s Rails 🙂  
Lots of people forget to remove it.

Or, if the server sends back the following header…

X-Powered-By: Phusion Passenger (mod\_rails/mod\_rack) 2.2.5

Good chance it’s Rails. You can configure it not to do this, but there  
are other ways too… just look for common Rails idioms (asset  
timestamping, etc.)

Dig deeper at the network level and you can even figure out the OS in  
many cases…

Just saying that it’s probably not possible to truly hide this  
information from someone determined enough to get it.

-philip
