3. A method performed by at least one computer processor for preventing injection attacks in executable computer code in a web application in which the web application constructs statements of a component language by mixing trusted characters provided by a first source and untrusted characters provided by a second source, wherein the trusted characters are defined as component language code or developer code that is developer generated and wherein the untrusted characters are defined as any data that is input by said user, comprising the steps of: a) encoding, a first computer processor residing on a first device, each of the characters with two code points, resulting in standard characters and complement characters of the standard characters, wherein said untrusted characters are encoded into complement characters by complimenting each character individually in the executable statement; b) using the standard characters to represent the trusted characters and using the complement characters to represent the untrusted characters; c) interleaving the trusted standard characters with the untrusted complement characters to create the executable computer code, and comparing the characters using value comparison, wherein value comparison compares all of the bits of a character not including the sign bit, whereby taint propagation of the untrusted characters via dataflow occurs automatically; d) designating, on a second computer processor residing on a second device, tokens to be either a sensitive token or an allowed token, wherein an allowed token is a token deemed trusted and a sensitive token is a token deemed untrusted; and e) comparing the characters using full comparison to match sensitive elements during parsing of the characters, and comparing the characters using value comparison to match allowed tokens, wherein full comparison compares all of the bits of the character including the sign bit, wherein each of the characters has multiple encodings representing the trusted characters and the untrusted characters, and the untrusted characters are forbidden in the sensitive tokens.
3. A method performed by at least one computer processor for preventing injection attacks in executable computer code in a web application in which the web application constructs statements of a component language by mixing trusted characters provided by a first source and untrusted characters provided by a second source, wherein the trusted characters are defined as component language code or developer code that is developer generated and wherein the untrusted characters are defined as any data that is input by said user, comprising the steps of: a) encoding, a first computer processor residing on a first device, each of the characters with two code points, resulting in standard characters and complement characters of the standard characters, wherein said untrusted characters are encoded into complement characters by complimenting each character individually in the executable statement; b) using the standard characters to represent the trusted characters and using the complement characters to represent the untrusted characters; c) interleaving the trusted standard characters with the untrusted complement characters to create the executable computer code, and comparing the characters using value comparison, wherein value comparison compares all of the bits of a character not including the sign bit, whereby taint propagation of the untrusted characters via dataflow occurs automatically; d) designating, on a second computer processor residing on a second device, tokens to be either a sensitive token or an allowed token, wherein an allowed token is a token deemed trusted and a sensitive token is a token deemed untrusted; and e) comparing the characters using full comparison to match sensitive elements during parsing of the characters, and comparing the characters using value comparison to match allowed tokens, wherein full comparison compares all of the bits of the character including the sign bit, wherein each of the characters has multiple encodings representing the trusted characters and the untrusted characters, and the untrusted characters are forbidden in the sensitive tokens. 4. The method as claimed in claim 3 , wherein the complement characters indicate the untrusted data and the standard characters indicate the trusted data.