Not. I really learned this when I studied using CSS and attributes to automatically style styles based on content ( my question ), and the short answer is no. Modern browsers do not allow the use of "byte sequences" as HTML. I often use "byte sequences" because the most risky code does not use byte encoded values.
The examples listed on the XSS website relate to the use of attributes, and javascript is interpreted as a string to be executed. But things are also listed, like &{alert('XSS')} , which runs the code in parentheses, and this code does not work in modern browsers.
But to answer your second question, no, filtering these 5 is not enough to prevent an XSS attack. Throw your code through PHP HTML special character code always, but there are hundreds of bytecodes that you can use , and you really can't guarantee anything. Sending it through a PHP filter (especially htmlentities() ) will give you the exact text entered when it was output in HTML (IE « instead of & laquo;). However, in most cases, depending on your use, using htmlspecialchars enough to cover most attacks. It depends on how you use the input, but for the most part it will be safe.
XSS is a daunting task. The general correct rule always filters everything that the user enters. And use whitelisting, not blacklisting. What you are talking about will be black, listing these values ββwhen it is always safer to assume that your users are malicious and allow certain things.
Ktash source share