It is partial security as you mentioned, but this blacklisting approach will get you nowhere. For one, these snippets supposedly protect you from various attack vectors:
base64_encode looks for (most likely) PHP Remote Code Execution payload
script rule tries protect from XSS
- the others are weird and possibly related to RCE or old PHP vulnerabilities where you could overwrite global variables.
All of the rules you give are very simple to bypass, even with basic obfuscation. For example, XSS payload does not require
<img src=1 onerror=js_code_here> and many, many other ways.
Obfuscation techniques are really advanced now and are often used to bypass application filters. If you're interested in obfuscation techniques, I recommend you read "Web Application Obfuscation" - it's an excellent book describing multiple ways of dealing with the filters you described.
What should I do then?
If you want to protect from malicious input to your application, the only way is to do both positive (i.e. not based on a blacklist) input validation and output escaping - you already should know how to do that from your previous question.
Web Application Firewalls
If you don't have control over application code (e.g. it's a legacy code deployed on a server that you need to maintain) or wish to take the 'defense in depth' route think about implementing Web Application Firewall e.g. based on mod_security. These firewalls are still base on a blacklists, so they won't offer 100% protection, but these blacklists are way more complete than the one you cite. For example, look at the problems mod_security faced & fixed when they announced a contest to bypass their SQL injection protection
Having said that, it's always best to fix the code of vulnerable application than to try to hide the vulnerability behind a firewall rule.