To answer your question, $ _GET and $ _POST should never be trusted . However, this is not a vulnerability until a variable is used. If you print print($_GET[xss]) , then you have an xss vulnerability. If you insert this variable into the database and then print it (for example, a forum post), you have saved xss , which is even worse.
You need to better understand the mentality of the attackers. Variables like $ _GET are taint sources, function calls like print() and mysql_query() are sinks . A hacker is looking for sinks that he can influence spoiled variables. There are many receivers in php, and I recommend reading this black paper (or red paper regardless of its confidence, not white ...). Be sure to read the section on programming in the language.
rook source share