WebArchitectur Interview
WebArchitectur Interview
SSL/TLS
ﺩﺭ ﺍﻳﻨﺠﺎ ﻓﺮﺽ ﺭﺍ ﺑﺮ ﺁﻥ ﮔﺬﺍﺷﺘﻴﻢ ﻛﻪ ﺧﻮﺍﻧﻨﺪﻩ ﻋﺰﻳﺰ ﺑﺎ ﭘﺮﻭﺗﻜﻞ HTTPﻭ HTMLﺁﺷﻨﺎﻳﻲ ﺩﺍﺭﺩ ﻭ
ﻣﻲ ﺧﻮﺍﻫﻴﻢ ﻣﺨﺘﺼﺮ ﺑﺴﻴﺎﺭ ﻛﻮﺗﺎﻫﻲ ﺩﺭﺑﺎﺭﻩ SSLﺑﻴﺎﻥ ﻛﻨﻴﻢ.
ﻳﻜﻲ ﺍﺯ ﺍﺳﺘﺜﻨﺎﻫﺎﻱ ﻭﺍﺿﺢ ﻭ ﺁﺷﻜﺎﺭﻱ ﻛﻪ ﺑﻴﺸﺘﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﻛﺎﺭﺑﺮﺩﻱ ﺗﺤﺖ ﻭﺏ ﺍﻣﺮﻭﺯﻩ ﺍﺳﺘﻔﺎﺩﻩ
ﻣﻲ ﻛﻨﻨﺪ ﭘﺮﻭﺗﻜﻞ ﻻﻳﻪ ﺳﻮﻛﺘﻬﺎﻱ ﺍﻣﻦ ) ( Secure Sockets Layerﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺩﺭ ﺑﺎﻻﻱ HTTP
ﻗﺮﺍﺭ ﮔﺮﻓﺘﻪ ﺍﺳﺖ SSL .ﺩﺭ ﺍﺻﻞ ﺑﺮﺍﻱ ﺭﻣﺰﮔﺬﺍﺭﻱ ﻻﻳﻪ ﺍﻧﺘﻘﺎﻝ ﺳﺎﺧﺘﻪ ﺷﺪﻩ ﺍﺳﺖ ﺑﻨﺎﺑﺮﺍﻳﻦ ﻳﻚ
ﻣﻴﺎﻧﺠﻲ ﺑﻴﻦ ﻣﺸﺘﺮﻱ ﻭ ﺳﺮﻭﻳﺲ ﺩﻫﻨﺪﻩ ﻧﻤﻲ ﺗﻮﺍﻧﺪ ﻣﺘﻦ ﺍﺻﻠﻲ ﺭﺩﻭ ﺑﺪﻝ ﺷﺪﻩ ﺭﺍ ﺑﻪ ﺭﺍﺣﺘﻲ ﺑﺨﻮﺍﻧﺪ.
ﻣﻲ ﺗﻮﺍﻥ ﮔﻔﺖ ﻛﻪ SSLﺑﻪ ﺻﻮﺭﺕ ﻳﻚ ﻟﻔﺎﻓﻲ ﺑﺮﺍﻱ HTTPﺳﺎﺧﺘﻪ ﺷﺪﻩ ﺍﺳﺖ SSL .ﺑﻪ ﺻﻮﺭﺕ
ﺫﺍﺗﻲ ﭘﺎﻳﻪ ﻭ ﺍﺳﺎﺱ ﺩﺭﺧﻮﺍﺳﺖ-ﭘﺎﺳﺦ ) ( Request-Responseﭘﺮﻭﺗﻜﻞ HTTPﺭﺍ ﺗﻐﻴﻴﺮ ﻧﺪﺍﺩﻩ
ﺍﺳﺖ SSL .ﺑﺮﺍﻱ ﺍﻣﻨﻴﺖ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﻛﺎﺭﺑﺮﺩﻱ ﻫﻴﭻ ﻛﺎﺭﻱ ﺍﻧﺠﺎﻡ ﻧﺪﺍﺩﻩ ﺍﺳﺖ ﺑﻠﻜﻪ ﻓﻘﻂ ﺍﺳﺘﺮﺍﻕ ﺳﻤﻊ
ﺑﻴﻦ ﻣﺸﺘﺮﻱ ﻭ ﺳﺮﻭﻳﺲ ﺩﻫﻨﺪﻩ ﺭﺍ ﻛﻤﻲ ﻣﺸﻜﻞ ﺗﺮ ﻛﺮﺩﻩ ﺍﺳﺖ .ﮔﻮﺍﻫﻴﻨﺎﻣﻪ ﺳﻤﺖ ﻣﺸﺘﺮﻱ ﻳﻜﻲ ﺍﺯ
ﺧﺼﻮﺻﻴﺎﺕ ﺍﺧﺘﻴﺎﺭﻱ ﭘﺮﻭﺗﻜﻞ SSLﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﭘﻴﺎﺩﻩ ﺳﺎﺯﻱ ﺷﺪﻩ ﺍﺳﺖ .ﻳﻌﻨﻲ ﻳﻚ ﺍﺣﺮﺍﺯ ﻫﻮﻳﺖ
ﺩﻭ ﻃﺮﻓﻪ ﻛﻪ ﺑﺎﻳﺪ ﺍﻧﺠﺎﻡ ﺷﻮﺩ).ﮔﻮﺍﻫﻴﻨﺎﻣﻪ ﻣﺸﺘﺮﻱ ﺑﺎﻳﺪ ﺑﻪ ﻋﻨﻮﺍﻥ ﻳﻚ ﻫﻮﻳﺖ ﻣﺤﺮﺯ ﺷﺪﻩ ﺗﻮﺳﻂ
ﺳﺮﻭﻳﺲ ﺩﻫﻨﺪﻩ ﺍﻣﻀﺎ ﺷﻮﺩ( .ﺍﮔﺮ ﭼﻪ ﺗﻌﺪﺍﺩ ﻛﻤﻲ ﺍﺯ ﺳﺎﻳﺘﻬﺎﻱ ﺭﻭﻱ ﺍﻳﻨﺘﺮﻧﺖ ﺍﻣﺮﻭﺯﻩ ﺍﻳﻦ ﻛﺎﺭ ﺭﺍ
ﺍﻧﺠﺎﻡ ﻣﻲ ﺩﻫﻨﺪ.
ﻧﺴﺨﻪ ﻗﺪﻳﻤﻲ ، SSLﻻﻳﻪ ﺍﻣﻨﻴﺖ ﺍﻧﺘﻘﺎﻝ ) ( Transport Layer Securityﺑﻮﺩ SSL/TSL .ﺍﺯ
ﻃﺮﻳﻖ ﭘﺮﻭﺕ 443ﻋﻤﻞ ﻣﻲ ﻛﻨﻨﺪ.
1 www.WebSecurityMgz.com
ﻣﺮﻭﺭﻱ ﺑﺮ ﻣﻌﻤﺎﺭﻱ ﻭﺏ
ﺁﻧﻬﺎ ﺍﺯ ﻃﺮﻳﻖ ﻳﻚ ﺣﻮﺯﻩ ﻣﺠﺎﺯﻱ ﺑﻪ ﻫﻢ ﻣﺘﺼﻞ ﺷﺪﻩ ﺍﻧﺪ) .ﺍﻳﻦ ﻣﻜﺎﻧﻴﺴﻢ ﺑﻪ ﺻﻮﺭﺕ ﻛﺎﻣﻞ ﺗﺮﻱ ﺩﺭ
RFC 2965ﺑﻴﺎﻥ ﺷﺪﻩ ﺍﺳﺖ ( .ﻛﻮﻛﻴﻬﺎ ﺑﻬﺘﺮﻳﻦ ﺭﻭﺷﻲ ﺍﺭﺗﺒﺎﻃﻲ ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﻣﻲ ﺑﺎﺷﻨﺪ ﺑﺮﺍﻱ
ﺍﻳﻦ ﻛﻪ ﻫﺮ ﻛﺎﺭﺑﺮﻱ ﺑﻪ ﻭﺳﻴﻠﻪ ﻳﻚ ﻧﺸﺎﻧﻪ ﺑﺎ ﻳﻚ ﺳﺎﻳﺖ ﻭﺏ ﺍﺭﺗﺒﺎﻁ ﺑﺮﻗﺮﺍﺭ ﻛﻨﺪ ﻭ ﺗﺎ ﻫﺮ ﺯﻣﺎﻧﻲ ﻛﻪ ﺍﻳﻦ
ﻧﺸﺎﻧﻪ ﺑﻪ ﻫﻤﺮﺍﻩ ﺩﺭﺧﻮﺍﺳﺖ ﻛﺎﺭﺑﺮ ﻓﺮﺳﺘﺎﺩﻩ ﻣﻲ ﺷﻮﺩ ،ﺁﻥ ﻛﺎﺭﺑﺮ ﻣﺠﺎﺯ ﺑﻪ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺳﺎﻳﺖ ﻣﻮﺭﺩ
ﻧﻈﺮ ﻣﻲ ﺑﺎﺷﺪ.ﺁﻧﻬﺎ ﻣﻲ ﺗﻮﺍﻧﻨﺪ ﻫﻢ ﺩﺭ ﺣﺎﻓﻈﻪ ﺫﺧﻴﺮﻩ ﺷﻮﻧﺪ ﻭ ﻫﻢ ﻣﻲ ﺗﻮﺍﻧﻨﺪ ﺑﻪ ﺻﻮﺭﺕ ﭘﺎﻳﺪﺍﺭﺗﺮﻱ ﺩﺭ
ﺩﻳﺴﻚ ﺳﺨﺖ ﻣﺎﻧﺪﮔﺎﺭ ﺑﺎﺷﻨﺪ .ﻛﻮﻛﻴﻬﺎ ﻫﺮﮔﺰ ﺑﺪﻭﻥ ﻋﻴﺐ ﻭ ﻧﻘﺺ ﻧﻤﻲ ﺑﺎﺷﻨﺪ ) ﺑﻪ ﺧﺼﻮﺹ ﻫﻨﮕﺎﻣﻲ
ﻛﻪ ﺑﻪ ﺻﻮﺭﺕ ﺿﻌﻴﻔﻲ ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮﻧﺪ ( ﻭ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺁﻧﻬﺎ ﭘﻴﺎﻣﺪﻫﺎﻱ ﺯﻳﺎﺩﻱ ﺭﺍ ﺑﺮﺍﻱ ﺍﻣﻨﻴﺖ
ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﻛﺎﺭﺑﺮﺩﻱ ﺩﺍﺭﺩ .ﻭﻟﻲ ﺩﺭ ﺣﺎﻝ ﺣﺎﺿﺮ ﻫﻴﭻ ﻣﻜﺎﻧﻴﺰﻡ ﺑﻬﺘﺮ ﺩﻳﮕﺮﻱ ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﺸﻜﻞ ﻭﺟﻮﺩ
ﻧﺪﺍﺭﺩ.
ﺩﺭ ﻛﻠﻤﺎﺕ ﻭﺏ ،ﻫﻤﻪ ﺣﺮﻭﻑ ﺩﺭ ﻛﺪ ASCIIﻣﻲ ﺑﺎﺷﺪ .ﻭﻗﺘﻲ ﻳﻚ ﻣﺘﺮﺟﻢ ﻣﺮﻭﺭﮔﺮ ﻭﺏ ﺑﺎ ﻳﻚ
ﺑﺮﭼﺴﺐ objectﺑﺮﺧﻮﺭﺩ ﻛﺮﺩ ﻣﺘﻮﺟﻪ ﻣﻲ ﺷﻮﺩ ﻛﻪ ﺑﺎﻳﺪ ﺁﻥ ﺭﺍ ﺍﺯ ﻳﻚ ﺳﺎﻳﺖ ﺩﻭﺭ ﺩﺍﻧﻠﻮﺩ ﻛﻨﺪ ﻭ ﻳﺎ ﺍﺯ
ﺑﻪ ﺻﻮﺭﺕ ﻣﺴﺘﻘﻴﻢ ﺍﺯ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺤﻠﻲ ﺑﺎﺭﮔﺬﺍﺭﻱ ﻛﻨﺪ ﻭ ﺳﭙﺲ ﺁﻥ ﺭﺍ ﺍﺟﺮﺍ ﻛﻨﺪ .ﺍﻟﺒﺘﻪ ﺍﻳﻦ ActivX
ﺩﺭ ﺻﻮﺭﺗﻲ ﺍﺟﺮﺍ ﻣﻲ ﺷﻮﺩ ﻛﻪ ﻳﺎ ﻗﺒﻼ ﺩﺭ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﻤﺎ ﻧﺼﺐ ﺷﺪﻩ ﺑﺎﺷﺪ ﻭ ﻳﺎ ﺍﺣﺮﺍﺯ ﻫﻮﻳﺖ ﺷﺪﻩ
ﺑﺎﺷﺪ ﻛﻪ ﺍﻳﻦ ﻛﺎﺭ ﺑﻪ ﻭﺳﻴﻠﻪ Microsoft Authenticodeﺍﻧﺠﺎﻡ ﻣﻲ ﺷﻮﺩ .ﻳﻌﻨﻲ ﺩﺭ ﺣﻴﻦ ﺍﺟﺮﺍﻱ ﺁﻥ
ﻳﻚ ﺻﻔﺤﻪ ﺑﺎﺯ ﺷﺪﻩ ﻭ ﺍﻣﻀﺎﻱ ﺩﻳﺠﻴﺘﺎﻝ ﺷﺨﺺ ﺳﺎﺯﻧﺪﻩ ﻛﺪ ﺭﺍ ﻧﻤﺎﻳﺶ ﻣﻲ ﺩﻫﺪ ﻭ ﺍﺯ ﺷﻤﺎ ﺳﻮﺍﻝ
ﻣﻲ ﻛﻨﺪ ﻛﻪ ﺁﻳﺎ ﻓﺎﻳﻞ ﻣﻮﺭﺩ ﻧﻈﺮ ﺭﺍ ﺍﺟﺮﺍ ﻛﻨﺪ ﻳﺎ ﺧﻴﺮ .ﺍﮔﺮ ﻛﺎﺭﺑﺮ ﺟﻮﺍﺏ ﻣﺜﺒﺖ ﺩﻫﺪ ﻛﺪ ﺍﺟﺮﺍ ﻣﻲ ﺷﻮﺩ.
ﻻﺯﻡ ﺑﻪ ﺫﻛﺮ ﺍﺳﺖ ﻛﻪ ﺍﺟﺮﺍﻱ ﺑﺴﻴﺎﺭﻱ ﺍﺯ ActiveXﻫﺎ ﻣﻲ ﺗﻮﺍﻥ ﺍﻣﻨﻴﺖ ﻳﻚ ﺳﻴﺴﺘﻢ ﺭﺍ ﺑﻪ ﺧﻄﺮ
ﺑﻴﺎﻧﺪﺍﺯﺩ .ﭘﺲ ﻫﻴﭽﮕﺎﻩ ﺑﻪ ﺍﻳﻨﮕﻮﻧﻪ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻳﻲ ﻛﻪ ﻧﺎﺁﺷﻨﺎ ﻭ ﻧﺎ ﻣﺸﺨﺺ ﻣﻲ ﺑﺎﺷﻨﺪ ﺍﺟﺎﺯﻩ ﺍﺟﺮﺍ ﺷﺪﻥ
ﻧﺪﻫﻴﺪ.
2 www.WebSecurityMgz.com
ﻣﺮﻭﺭﻱ ﺑﺮ ﻣﻌﻤﺎﺭﻱ ﻭﺏ
HTMLﻳﻚ ﺯﺑﺎﻥ ﺗﻮﺍﻧﺎ ﻣﻲ ﺑﺎﺷﺪ ﺍﻣﺎ ﻣﺤﺪﻭﺩﻳﺖ ﻫﺎﻱ ﺯﻳﺎﺩﻱ ﺩﺍﺭﺩ .ﺑﻌﺪ ﺍﺯ ﺳﺎﻟﻬﺎ ،ﺗﻜﻨﻮﻟﻮﮊﻳﻬﺎﻱ
ﺟﺪﻳﺪﻱ ﻣﺎﻧﻨﺪ HTMLﺩﻳﻨﺎﻣﻴﻚ ﻭ Style Sheetﻫﺎ ﭘﺪﻳﺪﺍﺭ ﺷﺪﻧﺪ ﺗﺎ ﭼﺎﺷﻨﻲ ﺑﺮﺍﻱ ﻧﻤﺎﻳﺶ ﻣﺤﺘﻮﻳﺎﺕ
ﺻﻔﺤﺎﺕ ﻭﺏ ﺑﺎﺷﻨﺪ .ﺍﻣﺎ ﺗﻐﻴﻴﺮﺍﻥ ﺑﻨﻴﺎﺩﻱ ﺗﺮﻱ ﻧﻴﺰ ﺩﺭ ﺣﺎﻝ ﻭﻗﻮﻉ ﺍﺳﺖeXtensible ) XML .
( Markup Languageﺑﻪ ﺁﻫﺴﺘﮕﻲ ﺟﺎﻳﮕﺰﻳﻦ HTMLﻣﻲ ﺷﻮﺩ.
ﺑﺎﻻﺧﺮﻩ ﺍﻳﻨﻜﻪ ﻣﺮﻭﺭﮔﺮ ﻣﻲ ﺗﻮﺍﻧﺪ ﺑﺎ ﺩﻳﮕﺮ ﭘﺮﻭﺗﻜﻠﻬﺎ ﻧﻴﺰ ﺍﺭﺗﺒﺎﻁ ﺑﺮﻗﺮﺍ ﻛﻨﺪ .ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺜﺎﻝ ﻣﻲ ﺗﻮﺍﻧﺪ ﺑﻪ
ﻭﺳﻴﻠﻪ ﭘﺮﻭﺗﻜﻞ SSLﺑﺎ ﻳﻚ ﺳﺮﻭﺭ ﻭﺏ ﺍﺭﺗﺒﺎﻁ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ .ﻭ ﻫﻤﭽﻨﻴﻦ ﻣﻲ ﺗﻮﺍﻧﺪ ﺑﺎ ﺩﻳﮕﺮ ﭘﺮﻭﺗﻜﻠﻬﺎ
ﻣﺎﻧﻨﺪ FTPﺍﺭﺗﺒﺎﻁ ﺑﺮﻗﺮﺍ ﻛﻨﺪ .ﺑﻪ ﺩﺭﺳﺘﻲ ﻛﻪ ﻣﺮﻭﮔﺮ ﻭﺏ ﻳﻜﻲ ﺍﺯ ﺑﺰﺭﮔﺘﺮﻳﻦ ﺳﻼﺡ ﻫﺎﻱ ﻗﺎﺑﻞ
ﺩﺳﺘﺮﺱ ﺑﺮﺍﻱ ﻧﻔﻮﺫﮔﺮﺍﻥ ﻭﺏ ﻣﻲ ﺑﺎﺷﺪ.
ﺳﺮﻭﺭ ﻭﺏ
ﺳﺮﻭﺭ ﻭﺏ ﺩﺭ ﺗﻌﺮﻳﻒ ﺑﻪ ﺻﻮﺭﺕ ﻳﻚ ﺳﺮﻭﻳﺲ ﺩﻫﻨﺪﻩ HTTPﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺩﺭﺧﻮﺍﺳﺖ ﻫﺎ ﺭﺍ ﺑﺮﺍﻱ
ﻣﻨﺎﺑﻊ ﺩﺭﻳﺎﻓﺖ ﻣﻲ ﻛﻨﺪ ﻭ ﺑﻌﻀﻲ ﺍﺯ ﺗﺠﺰﻳﻪ ﻫﺎ ﺭﺍ ﺭﻭﻱ ﺁﻥ ﺍﻧﺠﺎﻡ ﻣﻲ ﺩﻫﺪ ﺗﺎ ﻣﻄﻤﺌﻦ ﺷﻮﺩ ﻛﻪ ﺍﻳﻦ ﻣﻨﺒﻊ
ﻗﺎﺑﻞ ﺩﺳﺘﺮﺱ ﻣﻲ ﺑﺎﺷﺪ ﻳﺎ ﺧﻴﺮ ﻭ ﺳﭙﺲ ﺁﻥ ﺭﺍ ﺑﺮﺍﻱ ﭘﺮﺩﺍﺯﺵ ،ﺗﺤﻮﻳﻞ ﺑﺮﻧﺎﻣﻪ ﻛﺎﺭﺑﺮﺩﻱ ﻣﻲ ﺩﻫﺪ ﻭ
ﻭﻗﺘﻲ ﻛﻪ ﺑﺮﻧﺎﻣﻪ ﭘﺎﺳﺦ ﺭﺍ ﺑﺮﮔﺮﺩﺍﻧﺪ ،ﺳﺮﻭﻳﺲ HTTPﺁﻥ ﺭﺍ ﺑﻪ ﻣﺸﺘﺮﻱ ﺗﺤﻮﻳﻞ ﻣﻲ ﺩﻫﺪ.
ﺍﻣﺮﻭﺯﻩ ﺳﺮﻭﺭ ﻫﺎﻱ ﻣﺤﺒﻮﺏ ﻗﺎﺑﻞ ﺩﺳﺘﺮﺱ ﺯﻳﺎﺩﻱ ﻭﺟﻮﺩ ﺩﺍﺭﺩ ﻣﺎﻧﻨﺪ Apache Software ِ IIS
ﺳﺮﻭﺭ ) Apache HTTPﻛﻪ ﺑﻪ ﺍﺧﺘﺼﺎﺭ Apacheﮔﻔﺘﻪ ﻣﻲ ﺷﻮﺩ ( ، ، Foundation
AOL/Netscaps Enterpriseﻭ . Sun iPlant
ﺍﮔﺮ ﭼﻪ ﺳﺮﻭﺭﻫﺎﻱ ﻭﺏ ﺧﻴﻠﻲ ﺳﺎﺩﻩ ﺑﻪ ﻧﻈﺮ ﻣﻲ ﺁﻳﺪ ،ﺍﻣﺎ ﻣﺎ ﺩﻭﺑﺎﺭﻩ ﺑﺎﻳﺪ ﺩﺭﺑﺎﺭﻩ ﺳﻮﺭﺍﺧﻬﺎﻱ ﺍﻣﻨﻴﺘﻲ
ﺯﻳﺎﺩﻱ ﻛﻪ ﺩﺭ ﺁﻧﻬﺎ ﻭﺟﻮﺩ ﺩﺍﺭﺩ ﻭ ﻃﻲ ﺳﺎﻟﻴﺎﻥ ﺩﺭﺍﺯ ﻛﺸﻒ ﺷﺪﻩ ﺍﻧﺪ ﺑﺤﺚ ﻛﻨﻴﻢ .ﺑﻪ ﻃﻮﺭﻱ ﻛﻪ
ﺳﻮﺭﺍﺧﻬﺎﻱ ﺍﻣﻨﻴﺘﻲ ﺩﺭ ﺳﺮﻭﺭ ﻫﺎﻱ ﻭﺏ ﻳﻜﻲ ﺍﺯ ﺑﺮﺗﺮﻳﻦ ﻣﺴﺎﺋﻞ ﺍﻣﻨﻴﺘﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺍﺯ ﺳﺎﻝ ١٩٩٠
ﺑﻪ ﺍﻳﻦ ﻃﺮﻑ ﺑﻴﺎﻥ ﺷﺪﻩ ﺍﺳﺖ.
3 www.WebSecurityMgz.com
ﻣﺮﻭﺭﻱ ﺑﺮ ﻣﻌﻤﺎﺭﻱ ﻭﺏ
ﻣﻌﺮﻭﻑ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺩﺭ ﺷﻜﻞ ١ﻧﻤﺎﻳﺶ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ .ﺍﺟﺎﺯﻩ ﺑﺪﻫﻴﺪ ﻛﻪ ﺁﻧﻬﺎ ﺭﺍ ﺑﻪ ﻃﻮﺭ ﺧﻼﺻﻪ
ﺑﻴﺎﻥ ﻛﻨﻴﻢ.
ﻻﻳﻪ ﻧﻤﺎﻳﺶ ﺗﺴﻬﻴﻼﺗﻲ ﺭﺍ ﺑﺮﺍﻱ ﮔﺮﻓﺘﻦ ﻭﺭﻭﺩﻱ ﻫﺎ ﻭ ﻧﻤﺎﻳﺶ ﻧﺘﻴﺠﻪ ﻓﺮﺍﻫﻢ ﻣﻲ ﻛﻨﺪ .ﻻﻳﻪ ﻣﻨﻄﻘﻲ ،ﺩﺍﺩﻩ
ﻫﺎ ﺭﺍ ﺍﺯ ﻻﻳﻪ ﻧﻤﺎﻳﺶ ﺩﺭﻳﺎﻓﺖ ﻛﺮﺩﻩ ﻭ ﻛﺎﺭﻫﺎﻳﻲ ﺭﺍ ﺭﻭﻱ ﺁﻥ ﺍﻧﺠﺎﻡ ﻣﻲ ﺩﻫﺪ .ﻫﺮ ﺯﻣﺎﻥ ﻛﻪ ﻧﻴﺎﺯ ﺑﻪ ﻛﻤﻚ
ﻻﻳﻪ ﺩﺍﺩﻩ ﺑﺎﺷﺪ ،ﺩﺍﺩﻩ ﻫﺎ ﺑﻪ ﻻﻳﻪ ﻧﻤﺎﻳﺶ ﺑﻪ ﻋﻨﻮﺍﻥ ﻧﺘﻴﺠﻪ ﻛﺎﺭ ﺑﺮ ﮔﺮﺩﺍﻧﺪﻩ ﻣﻲ ﺷﻮﺩ .ﺳﺮﺍﻧﺠﺎﻡ ﻻﻳﻪ
ﺩﺍﺩﻩ ﻳﻚ ﻣﻨﺒﻊ ﻣﺎﻧﺪﮔﺎﺭﻱ ﺍﺯ ﺩﺍﺩﻩ ﻫﺎ ﺭﺍ ﻓﺮﺍﻫﻢ ﻣﻲ ﻛﻨﺪ ﻛﻪ ﻣﻲ ﺗﻮﺍﻥ ﺭﻭﻱ ﺁﻧﻬﺎ ﺟﺴﺘﺠﻮ ﺍﻧﺠﺎﻡ ﺩﺍﺩ ﻭ
ﻫﺮ ﺩﻓﻌﻪ ﺑﻪ ﻭﺳﻴﻠﻪ ﻻﻳﻪ ﻣﻨﻄﻘﻲ ﺑﻪ ﺭﻭﺯ ﺭﺳﺎﻧﻲ ﻣﻲ ﺷﻮﺩ .ﻻﻳﻪ ﺩﺍﺩﻩ ﺍﻳﻦ ﺍﻣﻜﺎﻥ ﺭﺍ ﻓﺮﺍﻫﻢ ﻣﻲ ﻛﻨﺪ ﻛﻪ
ﻻﻳﻪ ﻣﻨﻄﻘﻲ ﺑﺪﻭﻥ ﺍﻳﻨﻜﻪ ﻧﻴﺎﺯﻱ ﺑﻪ ﻛﺪﻫﺎﻱ ﻣﺸﻜﻞ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ﺑﺘﻮﺍﻧﺪ ﺁﻥ ﺭﺍ ﺑﻪ ﺁﺳﺎﻧﻲ
ﺑﻪ ﺭﻭﺯ ﺭﺳﺎﻧﻲ ﻛﻨﺪ ﻭ ﺍﺯ ﺁﻥ ﺍﺳﺘﻔﺎﺩﻩ ﻧﻤﺎﻳﺪ.
ﺑﺮﺍﻱ ﺍﻳﻨﻜﻪ ﺑﻔﻬﻤﻴﺪ ﺍﻳﻨﻬﺎ ﭼﮕﻮﻧﻪ ﺑﺎ ﻫﻢ ﻛﺎﺭ ﻣﻲ ﻛﻨﻨﺪ ﺍﺟﺎﺯﻩ ﺑﺪﻫﻴﺪ ﻣﺜﺎﻟﻲ ﺭﺍ ﺑﻴﺎﻥ ﻛﻨﻴﻢ .ﻳﻚ ﺑﺮﻧﺎﻣﻪ
ﻛﺎﺭﺑﺮﺩﻱ ﺗﺤﺖ ﻭﺏ ﺳﺎﺩﻩ ﺭﺍ ﻓﺮﺽ ﻛﻨﻴﺪ ﻛﻪ ﺗﻤﺎﻡ ﻓﺎﻳﻠﻬﺎﻱ ﻣﺤﻠﻲ ﺩﺭﻭﻥ ﻫﺎﺭﺩ ﺳﺮﻭﺭ ﺭﺍ ﺑﺮﺍﻱ ﻭﺟﻮﺩ
ﻣﺘﻨﻲ ﻛﻪ ﻛﺎﺭﺑﺮ ﺩﺭﺧﻮﺍﺳﺖ ﻛﺮﺩﻩ ﺍﺳﺖ ،ﺟﺴﺘﺠﻮ ﻣﻲ ﻛﻨﺪ ﻭ ﻧﺘﻴﺠﻪ ﺭﺍ ﻧﻤﺎﻳﺶ ﻣﻲ ﺩﻫﺪ .ﻻﻳﻪ ﻧﻤﺎﻳﺶ
ﺷﺎﻣﻞ ﻳﻚ ﻓﺮﻡ ﺑﺎ ﻓﻴﻠﺪﻫﺎﻳﻲ ﺑﺮﺍﻱ ﺩﺭﻳﺎﻓﺖ ﻣﺘﻦ ﻭﺭﻭﺩﻱ ﺗﻮﺳﻂ ﻛﺎﺭﺑﺮ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺍﻳﻦ ﻣﺘﻦ ﺑﺎﻳﺪ
ﻣﻮﺭﺩ ﺟﺴﺘﺠﻮ ﻗﺮﺍﺭ ﮔﻴﺮﺩ .ﻻﻳﻪ ﻣﻨﻄﻘﻲ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺍﺟﺮﺍﻳﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺭﺷﺘﻪ ﻭﺭﻭﺩﻱ ﺭﺍ ﺩﺭﻳﺎﻓﺖ
ﻛﺮﺩﻩ ﻭ ﭘﺲ ﺍﺯ ﺍﻳﻨﻜﻪ ﻣﻄﻤﺌﻦ ﺷﺪ ﻛﻪ ﺍﻳﻦ ﺭﺷﺘﻪ ﺣﺎﻭﻱ ﻛﺎﺭﺍﻛﺘﺮﻫﺎﻱ ﻣﺨﺮﺏ ﻧﻤﻲ ﺑﺎﺷﺪ ،ﺍﺭﺗﺒﺎﻁ
ﺩﻫﻨﺪﻩ ﻣﻨﺎﺳﺐ ﺑﻪ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﺭﺍ ﺑﺮﺍﻱ ﺍﻳﺠﺎﺩ ﻳﻚ ﺍﺭﺗﺒﺎﻁ ﺑﺎ ﻻﻳﻪ ﺩﺍﺩﻩ ،ﻓﺮﺍﺧﻮﺍﻧﻲ ﻣﻲ ﻛﻨﺪ .ﺳﺮﺍﻧﺠﺎﻡ
ﻳﻚ Queryﺑﻪ ﻭﺳﻴﻠﻪ ﻭﺭﻭﺩﻱ ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮﺩ .ﻻﻳﻪ ﺩﺍﺩﻩ ﻣﻤﻜﻦ ﺍﺳﺖ ﺷﺎﻣﻞ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﺍﻱ ﺑﺎﺷﺪ
ﻛﻪ ﺷﺎﺧﺼﻲ ﺍﺯ ﻛﻠﻴﻪ ﻓﺎﻳﻠﻬﺎﻱ ﺩﺭﻭﻥ ﻣﺎﺷﻴﻦ ﻣﺤﻠﻲ ﺭﺍ ﺩﺭ ﺧﻮﺩ ﺫﺧﻴﺮﻩ ﻛﺮﺩﻩ ﺍﺳﺖ ﻭ ﺑﻪ ﺻﻮﺭﺕ
Real-Timeﺑﻪ ﺭﻭﺯ ﺭﺳﺎﻧﻲ ﻣﻲ ﺷﻮﺩ Query .ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﻣﺠﻤﻮﻋﻪ ﺍﻱ ﺍﺯ ﺭﻛﻮﺭﺩﻫﺎ ﺭﺍ ﺍﻧﺘﺨﺎﺏ
ﻛﺮﺩﻩ ﻭ ﺁﻧﻬﺎ ﺭﺍ ﺑﻪ ﻻﻳﻪ ﻣﻨﻄﻘﻲ ﺑﺮ ﻣﻲ ﮔﺮﺩﺍﻧﺪ .ﻻﻳﻪ ﻣﻨﻄﻘﻲ ﺭﻛﻮﺭﺩﻫﺎﻱ ﺑﺮﮔﺸﺘﻲ ﺭﺍ ﺗﺮﺟﻤﻪ ﻭ ﺗﺤﻠﻴﻞ
ﻣﻲ ﻛﻨﺪ ﻭ ﺭﻛﻮﺭﺩﻫﺎﻳﻲ ﻛﻪ ﻻﺯﻡ ﻧﺒﻮﺩﻩ ﺍﻧﺪ ﺭﺍ ﺣﺬﻑ ﻛﺮﺩﻩ ﻭ ﺭﻛﻮﺭﺩﻫﺎﻱ ﺩﺭﺧﻮﺍﺳﺖ ﺷﺪﻩ ﺭﺍ ﺑﻪ ﻻﻳﻪ
ﻧﻤﺎﻳﺶ ﺑﺮ ﻣﻲ ﮔﺮﺩﺍﻧﺪ .ﺍﻳﻦ ﺭﻛﻮﺭﺩﻫﺎ ﻧﻴﺰ ﺩﺭ HTMLﺁﻣﻴﺨﺘﻪ ﺷﺪﻩ ﺗﺎ ﺑﻪ ﺻﻮﺭﺕ ﻣﻨﺎﺳﺒﻲ ﺑﺮﺍﻱ
ﻛﺎﺭﺑﺮ ﻧﻤﺎﻳﺶ ﺩﺍﺩﻩ ﺷﻮﺩ .ﻭ ﺍﺯ ﺳﺮﻭﺭ ﻭﺏ ﺑﻪ ﺳﻤﺖ ﻣﺮﻭﺭﮔﺮ ﺑﺮﮔﺮﺩﺍﻧﺪﻩ ﻣﻲ ﺷﻮﺩ.
ﺧﻴﻠﻲ ﺍﺯ ﺗﻜﻨﻮﻟﻮﮊﻳﻬﺎﻱ ﺩﺭ ﺣﺎﻝ ﺣﺎﺿﺮ ،ﺑﻪ ﺻﻮﺭﺕ ﻭﺍﻗﻌﻲ ﻭ ﻋﻤﻠﻲ ﺍﺯ ﻳﻚ ﻳﺎ ﺑﻴﺸﺘﺮ ﺍﻳﻦ ﻻﻳﻪ ﻫﺎ
ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ ﻛﻨﻨﺪ ﺑﻨﺎﺑﺮﺍﻳﻦ ﺍﻏﻠﺐ ﺗﺸﺨﻴﺺ ﺩﺍﺩﻥ ﻻﻳﻪ ﻫﺎ ﺍﺯ ﻳﻜﺪﻳﮕﺮ ﻛﻤﻲ ﻣﺸﻜﻞ ﻣﻲ ﺑﺎﺷﺪ ﻭ ﺣﺘﻲ
ﺑﻌﻀﻲ ﻻﻳﻪ ﻫﺎ ﺩﺭﻭﻥ ﺑﻌﻀﻲ ﺩﻳﮕﺮ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ ﺷﻮﺩ .ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺜﺎﻝ ﺑﺮﻧﺎﻣﻪ Active Server
( ASP ) Pageﺑﻪ ﺷﻤﺎ ﺍﺟﺎﺯﻩ ﻣﻲ ﺩﻫﺪ ﺩﺭﻭﻥ ﺻﻔﺤﺎﺕ ﻭﺏ ﺩﺭ ﻻﻳﻪ ﻧﻤﺎﻳﺶ ﺍﺯ ﻛﺪﻫﺎﻱ ﻻﻳﻪ ﻣﻨﻄﻘﻲ
ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ.ﺑﻨﺎﺑﺮﺍﻳﻦ ﻧﻴﺎﺯﻱ ﻧﻴﺴﺖ ﻛﻪ ﻳﻚ ﻛﺪ ﺍﺟﺮﺍﻳﻲ ﻣﺠﺰﺍ ﺑﺮﺍﻱ ﺩﺭﺧﻮﺍﺳﺘﻬﺎﻳﺘﺎﻥ ﺍﺯ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ،
ﺩﺍﺷﺘﻪ ﺑﺎﺷﻴﺪ ) .ﺍﮔﺮ ﭼﻪ ﺧﻴﻠﻲ ﺍﺯ ﺳﺎﻳﺘﻬﺎ ﺍﺯ COM objectﺑﺮﺍﻱ ﺩﺳﺘﺮﺳﻲ ﺑﻪ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ ﺍﺳﺘﻔﺎﺩﻩ
ﻣﻲ ﻛﻨﻨﺪ ﻭ ﻣﻤﻜﻦ ﺍﺳﺖ ﻛﻪ ﺍﻳﻦ ﻛﺎﺭ ﺩﺭ ﺑﻌﻀﻲ ﻣﻮﺍﺭﺩ ﺍﻳﻤﻦ ﺗﺮ ﺑﺎﺷﺪ( .
4 www.WebSecurityMgz.com
ﻣﺮﻭﺭﻱ ﺑﺮ ﻣﻌﻤﺎﺭﻱ ﻭﺏ
ﺗﻜﻨﻴﻜﻬﺎﻱ ﻣﺘﻨﻮﻉ ﺯﻳﺎﺩﻱ ﺑﺮﺍﻱ ﺍﻳﺠﺎﺩ ﺳﺎﻳﺘﻬﺎﻱ ﻭﺏ ﭼﻨﺪ ﻻﻳﻪ ﻭﺟﻮﺩ ﺩﺍﺭﺩ .ﺑﻌﻀﻲ ﺍﺯ ﺍﻳﻦ ﺗﻜﻨﻴﻜﻬﺎ ﺩﺭ
ﺟﺪﻭﻝ ﺷﻤﺎﺭﻩ ١ﺁﻣﺪﻩ ﺍﺳﺖ.
ﺁﻧﭽﻪ ﻛﻪ ﻻﺯﻡ ﺍﺳﺖ ﺩﺭﺑﺎﺭﻩ ﺍﻳﻦ ﺗﻜﻨﻴﻜﻬﺎ ﺑﺪﺍﻧﻴﺪ ﺍﻳﻦ ﺍﺳﺖ ﻛﻪ ﺁﻧﻬﺎ ﺷﺒﻴﻪ ﻳﻚ ﻓﺎﻳﻞ ﺍﺟﺮﺍﻳﻲ ﺗﺮﺟﻴﺤﺎ
ﺍﻳﺴﺘﺎ ﻛﺎﺭ ﻣﻲ ﻛﻨﻨﺪ .ﺑﺮﺍﻱ ﻣﺜﺎﻝ ﻳﻚ ﺩﺭﺧﻮﺍﺳﺖ ﺑﺮﺍﻱ ﻳﻚ ﺍﺳﻜﺮﻳﭙﺖ PHPﻣﻤﻜﻦ ﺍﺳﺖ ﺑﻪ ﺻﻮﺭﺕ
ﺯﻳﺮ ﺑﺎﺷﺪ:
http://www.somestie.net/article.php?id=425&format=html
ﻫﻤﺎﻧﻄﻮﺭ ﻛﻪ ﻣﺸﺎﻫﺪﻩ ﻣﻲ ﻛﻨﻴﺪ ،ﻓﺎﻳﻞ article.phpﺷﺒﻴﻪ ﻳﻚ ﻓﺎﻳﻞ ﺍﺟﺮﺍﻳﻲ ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ ﻭ ﭘﺎﺭﺍﻣﺘﺮﻫﺎﻳﻲ
ﻛﻪ ﻫﻤﺮﺍﻩ ﺑﺎ ﺁﻥ ﺍﺭﺟﺎﻉ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﻧﺪ ﻣﺎﻧﻨﺪ ﻭﺭﻭﺩﻱ ﻫﺎ ﻭ ﻳﺎ ﺁﺭﮔﻮﻣﺎﻧﻬﺎﻱ ﺍﻳﻦ ﻓﺎﻳﻞ ﺍﺟﺮﺍﻳﻲ ﻣﻲ ﺑﺎﺷﻨﺪ.
ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ
ﻻﻳﻪ ﺩﺍﺩﻩ ﻣﻌﻤﻮﻻ ﺑﻪ ﻋﻨﻮﺍﻥ ﺁﺧﺮﻳﻦ ﻻﻳﻪ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻛﺎﺭﺑﺮﺩﻱ ﻭﺏ ﺩﺭ ﻳﻚ ﻣﻌﻤﺎﺭﻱ ﭼﻨﺪﻻﻳﻪ ﺍﻱ ﻣﻲ ﺑﺎﺷﺪ.
ﺷﺎﻳﺪ ﺧﻴﻠﻲ ﺑﻴﺸﺘﺮ ﺍﺯ ﭼﻴﺰﻫﺎﻱ ﺩﻳﮕﺮ ،ﭘﺎﻳﮕﺎﻫﻬﺎﻱ ﺩﺍﺩﻩ ﻣﺴﻮﻭﻝ ﺗﺤﻮﻝ ﻳﻚ ﻓﺮﻡ ﺍﺳﺘﺎﺗﻴﻚ ﺑﺮ ﭘﺎﻳﻪ HTMLﺑﻪ
ﻓﺮﻣﻬﺎﻱ ﺩﻳﻨﺎﻣﻴﻚ ،ﺑﺎﺯﻳﺎﺑﻲ ﺍﻃﻼﻋﺎﺕ ﺳﻴﺎﻝ ﻭ ﺭﻭﺍﻥ ﻭ ﺗﺠﺎﺭﺕ ﺍﻟﻜﺘﺮﻭﻧﻴﻚ ﺷﺪﻩ ﺑﺎﺷﻨﺪ.
ﺑﻴﺸﺘﺮﻳﻦ ﺯﻣﻴﻨﻪ ﻛﺎﺭﻱ ﭘﺎﻳﮕﺎﻫﻬﺎﻱ ﺩﺍﺩﻩ ﺩﺭ ﻭﺏ ﺭﻭﻱ ﺩﻭ ﻋﻨﻮﺍﻥ ﻣﻲ ﭼﺮﺧﺪ SQL :ﻭ .Oracleﻣﻮﻟﻔﻪ ﻫﺎﻱ
ﻻﻳﻪ ﻣﻨﻄﻘﻲ ﺍﺯ ﺍﺭﺗﺒﺎﻁ ﺩﻫﻨﺪﻩ ﻫﺎﻱ ﻣﻌﺮﻭﻑ ﺑﺮﺍﻱ ﺑﺮﻗﺮﺍﺭﻱ ﺍﺭﺗﺒﺎﻁ ﺑﺎ ﭘﺎﻳﮕﺎﻫﻬﺎﻱ ،ﺳﺎﺧﺘﻦ queryﻫﺎ ،ﺑﻪ
ﺭﻭﺯ ﺭﺳﺎﻧﻲ ﺭﻛﻮﺭﺩﻫﺎ ﻭ ...ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ ﻛﻨﺪ .ﻳﻜﻲ ﺍﺯ ﻋﻤﻮﻣﻲ ﺗﺮﻳﻦ ﺭﺍﺑﻄﻬﺎﻳﻲ ﻛﻪ ﺍﻣﺮﻭﺯﻩ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲ ﺷﻮﺩ
Open Database Connectivityﻭ ﻳﺎ ODBSﻣﻲ ﺑﺎﺷﺪ.
ﺩﺭ ﺯﻳﺮ ﺷﻤﺎﻱ ﻛﻠﻲ ﻳﻚ ﺩﺭﺧﻮﺍﺳﺖ ﻭ ﭘﺎﺳﺦ ﻭ ﻣﻌﻤﺎﺭﻱ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﻛﺎﺭﺑﺮﺩﻱ ﺭﺍ ﻣﺸﺎﻫﺪﻩ ﻣﻲ ﻛﻨﻴﺪ.
5 www.WebSecurityMgz.com
ﻣﺮﻭﺭﻱ ﺑﺮ ﻣﻌﻤﺎﺭﻱ ﻭﺏ
Web
App
Database
WEB Web
Web Internet Conector
Server App
client Database
Web
App
Search for:
Search.php Fname.db
Search.html
Result.html
(none) HTML
CGI (including Perl)
6 www.WebSecurityMgz.com