<% 'Make sure this page is not cached Response.Expires = -1 Response.ExpiresAbsolute = Now() - 2 Response.AddHeader "pragma","no-cache" Response.AddHeader "cache-control","private" Response.CacheControl = "No-Store" Response.Buffer = True 'Actual content of the page Response.ContentType = "image/jpeg" Dim pHeader, pFooter, ImageData, RndNum, ImageTobeShown Dim p() 'p1, p2, p3, p4, p5, p6, p7, p8, p9, p0 'Numbers on images ''''''''''''''''''''''''''''''''''''''' Redim p(10) 'Hex values of the image binary data 'Pictures, which are saved in jpg format have the same header and footer data 'The only different data is the number which is shown on the image '----Image header pHeader = "FFD8FFE000104A46494600010101006000600000FFDB004300080606070605080707070909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C20242E2" pHeader = pHeader & "720222C231C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C180D0D1832211C213232323232323232323232323232323232" pHeader = pHeader & "323232323232323232323232323232323232323232323232323232323232323232FFC00011080020001503012200021101031101FFC4001F0000010501010" pHeader = pHeader & "101010100000000000000000102030405060708090A0BFFC400B5100002010303020403050504040000017D01020300041105122131410613516107227114" pHeader = pHeader & "328191A1082342B1C11552D1F02433627282090A161718191A25262728292A3435363738393A434445464748494A535455565758595A636465666768696A7" pHeader = pHeader & "37475767778797A838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE1E2" pHeader = pHeader & "E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F0100030101010101010101010000000000000102030405060708090A0BFFC400B5110002010204040" pHeader = pHeader & "3040705040400010277000102031104052131061241510761711322328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728292A35" pHeader = pHeader & "363738393A434445464748494A535455565758595A636465666768696A737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7A8A" pHeader = pHeader & "9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00F7" '----0 p(0) = "D0A31FAD2ED15C5EB3A8788759F144DE1DF0E6A36BA5259DA473DDDF496DF6870D21611A221217A23124FB558F0C6ADACC7AF6A3E1BF104F6D757B6B0C575" p(0) = p(0) & "05DDBC5E509E172CB964C9DAC19187071822803ADA28A280382F0FC69A6FC5CF15A4F3289355B3B1BAB753C6F58D1E27C7F7B040CFF00BC29D651A6A1F1BF" p(0) = p(0) & "51D46DE5578EC3428AC66DBC812BCCD2609EC42A838FF685743AFF0084F41F155B470EB9A6417AB182119810C99C676B0208CE0743DAACE8BA0693E1DB1FB" p(0) = p(0) & "168F610595BEEDC5225C6E6C6324F52700727D2803468A28A00" '----1 p(1) = "FA2ABDFC37171A75CC36775F64BA9227486E3CB12794E410AFB4F0D838383D715E71F0DEDB54B2F887E3BB3D5F577D5AEE01A786BB78845B818E460020242" p(1) = p(1) & "81BB181F5EF401E9F451450057BFBEB7D334EB9BFBC93CBB5B589E699F693B51412C70393800F4AF1FF00077C44F0AC9F15FC57326AB98F5B974F874F3F67" p(1) = p(1) & "97F7CEB198C8FBBF2FCC40F9B1F957B45140051451401F" '----2 p(2) = "FA2B2B5AD2EEB57B14B6B5D5EEF4B225DCF35A04F31D7046D058103920E719E3DEB90B0B7D53C21E3CD13428B5BD535AD3B54B7B97986A732CB25B1882957" p(2) = p(2) & "0FB412096DB83EBED401E89451450061F8A3C53A7784B453A96A2F85690430A6E0A6491B385CB1007424924000127A573DE17D5FC3EDA9BEA7A8F8AB43BBF" p(2) = p(2) & "106A3B21586DF508DD605CFC90443393C9E4E32CDF801D8EA5A4E9BACDBADBEA9A7DA5F40AE1D63BA856550D823203023382467DCD67C1E0BF0ADADC45716" p(2) = p(2) & "FE1AD1A19E270F1C91D844AC8C0E41042E41079CD006E51451401" '----3 p(3) = "FA2B2759D2EEB57B04B6B5D5EF34B225DD24D6813CC75C1F9416040E4839C678F7AE2BC2FF0069B3F17585B787FC577DE26D064867FED096EEED2E85B380A" p(3) = p(3) & "63DB2AAF2C49236E7A64FA5007A5D14514019DA9EB7A5E856D15C6AB7F6F6504B2F94925C38452E413824F00E14F5F4AE0F4D97443F137478BC0C74DFB02D" p(3) = p(3) & "A5CB6B234CDBE46D217C9CF97F26FDC0E3BE3757A3CD041730B4371124B137052450CA7F03D6A1D3F4CD3B48B7FB3E9B616B650E7FD5DB42B1AE7E8A05005" p(3) = p(3) & "CA28A2803" '----4 p(4) = "FA2A38C808727182739C7D6BC87C51E2FD5B5AD7BC377BA25DC96FE1B5F115AD879D0C854EA0E58EF231D621B4AF3C3139E82803D8A8A28A00C3F13E8B71E" p(4) = p(4) & "23F0B5FE9169A8BE9D2DDA84FB5247BCA8DC0B0DB91D5415EBDEBC97C67E11F1568965E11B397C6A9736C35DB3B6B2893478615B5930C1241B4FCDB707E53" p(4) = p(4) & "C1CF35EE80802A0BBB2B2BEF23ED96B05C79132CD0F9D187F2E45FBAEB91C30C9C11C8A005B086E2DF4EB686F2EBED7751C48935C79623F35C0019F68E172" p(4) = p(4) & "72703A668AB145007" '----5 p(5) = "7BEBFB3D32CE4BCBFBB82D2D63C6F9A790468B9200CB1E064903F1ACB83C69E15BAB88ADEDFC4BA34D3CAE1238E3BF8999D89C00006C924F18AC0F8B56379" p(5) = p(5) & "A9FC2AD6ACEC2D2E2EEE9CC3B21823323B6278D8E157938193F8550F0EDFF0080EF75AB5B63E07FEC0D4D9F7D98D4B448ED9DDD70D98D802370EA39078A00" p(5) = p(5) & "F4AA28A28032358D52EB48B04B9B4D22EF54265DB245685048AB827761880704018CE79F6AE36E2EB53F883AC787FCAF0EEB1A3E9DA66A0BA84F75A922DBC" p(5) = p(5) & "8CD1AB058D132490C5B9270303DEBD1C10051BC0EFF00A5003A8A28A00F" '----6 p(6) = "E1CD1815C2FC42F112E956BA5E95FDB09A39D52E9A396F99D55A18114BC8509E371F9501EC5C77C553F00BFC366D7AEA7F0A5F8B8D6248CC53BCD753B4932" p(6) = p(6) & "82093894E1BA0F980FC7AD007A3D1451401C2F8D6C1A1D57C37E285B29AF63D1AE66FB4450A6F7114B19467083EF6D210E3AE0565EA1ADE9FF103C43E19FF" p(6) = p(6) & "00845CDC4AFA6EA42EAEAFCD9C91A430A2B078B73AAE4B9217033EBDABD357A52D00145145007F" '----7 p(7) = "2D4756D3747B65B9D5350B4B1819F62C97532C4A5B04E0162067009C7B1ACF83C67E15BAB88ADEDFC4BA34D3CAE1238E3BF8999D89C00006C924F18ABB79A" p(7) = p(7) & "569BACDA0B6D534FB5BE8124DEB1DD42B2A86E7900823382467DCD70979E19D02FBE22699A568FA1697669A394D4EFEE2D6D238DC3E4F9116E5008CB02E7D" p(7) = p(7) & "900EF401E97451450067DFDF1D3346BBBE4B5B8BB782367105BC7BE49580E15547527802B23C0BA15D68DA13CFAA389359D4A66BDBF719C091FA20C938545" p(7) = p(7) & "0AA074F96BA507028DEB400EA28A2803F" '----8 p(8) = "D5008FC69768AE7FC59E207F0B783B53D6E3B47BB92D232CB0A8FBC4B0009C7F08DD927D01AE63534F1EE85A4DEF89A5F1769B7D05B5B35CBE9BFD98A90B2" p(8) = p(8) & "AAEE21250E5F24038273D6803D228AADA75DB5FE976978D0496ED710A4A6193EF465941DA7DC67145006078DB56B9D0BC05AD6A7676CB713C16EC55194302" p(8) = p(8) & "4E14B11D0A80727D40AE475DF09E83A2780DB5DD13579D22B087EDD6E8F7666B3BB755DC81A16263C31C63605C1C15C6057A99557464750CAC304119047A5" p(8) = p(8) & "72969F0BFC1365ABFF6A5BF876D12EC10CA4EE28A463056327629E0720500747A55D4B7DA4595E4F01B79A782396485BAC6CCA0953F4271455BA2803F" '----9 p(9) = "D5008FC69768AC9D635CB4F0F68D36A176B2B85711C71449B9E6776C2220EE49200EDEB8AC1B4F1C6A905FC117893C2777A2DADD4E20B6BB3751DC2166384" p(9) = p(9) & "126C398C9E9CE4678CD0076B4514500727E2FF0EDC788B45B5360D12EA3A75FC3A8DA79E488DE588F01B1D882467DC1AE2BE216A5E35D63C1377617BE19B4" p(9) = p(9) & "D1FCEBAB6822B8FED512BBC8674D863544E39F520819E2BD62EA19E7B1B886DAE4DB5C49132C570A81FCA62080C14F07079C1E0D731A5F82AF3FB46CF51F1" p(9) = p(9) & "3788EEB5EBBB27325B2B4096F044E411BFCB4E0B00700B138E718A00EC28A28A00F" '----Image footer pFooter = "FFD9" '----------------------------------- 'which number to show ImageTobeShown = Request.QueryString("img") ' no direct access If Instr(1, Request.ServerVariables("HTTP_REFERER"), "DemoForm.asp") < 0 Then Response.Write "Error" Response.End End If 'check for a valid number If Not IsNumeric(ImageTobeShown) OR ImageTobeShown = "" OR ImageTobeShown < Len(Session("ImageNo")) Then Response.Write "Error" Response.End End If 'Random image to be shown RndNum = Mid(Session("ImageNo"), ImageTobeShown, 1) If RndNum <> "" Then 'ok, image data is <<< header + specified number + footer >>> ImageData = pHeader & p(RndNum) & pFooter Else 'oh no, direct access to the page without a session var Response.Write "Error" Response.End End If 'for every hex value, ie. FF D8 FF E0, ... write the binary data to the response For i = 1 To Len(ImageData) \ 2 Response.BinaryWrite (ChrB("&h" & Mid(ImageData, ((i - 1) * 2) + 1, 2))) Next Response.Flush %>