She has been in/on this forum for 5 hours yesterday.
Plese help me to choose the correct option.
I think both are acceptable as to meaning.
I usually say "to be on the forum", because I think of a "forum" as a board. (Cf. "on the noticeboard".)
However, you do sometimes (perhaps less often) hear "to be in the forum". "In the forum" suggests that the speaker thinks of a forum as an enclosed place, like a room, or a piazza.
That said, it's possible that (in your context) "to be in the forum" would suggest "to be a member of the forum". So perhaps "on" is better.
All the best,
PS: By the way, I would say:
1. She was on this forum for five hours yesterday.
2. She has been on this forum for five hours.
3. ??She has been on this forum for five hours yesterday.
This is because the present perfect suggests that the event (in this case, "being on the forum") has a connection to the present in some way. However, "yesterday" puts the event firmly in the past.