I'm not sure if that will work.

Group 4 is not logged in. That check is already in there that they must be logged in.
If it had to be another group, I would probably try something like this:
if (((strstr("/-3-/",$user['U_Groups'])) || (strstr("/-5-/",$user['U_Groups'])))&& (($user['U_Status'] != "Administrator") && ($user['U_Status'] != "Moderator"))) {
I'm not sure if I got all the parenthesis correct.

Basically the first part || is or and the last part && is and. So if they are in group 3 (users) and group 5 (first custom group) and they are NOT an Admin or Mod then they get intercepted.
But my parenthesis may be wacked. Maybe there's a more-proper way.