Many online games actively encourage players to trade among each other. When you allow trading, you can't stop people from trading unfavorable (like "selling" valuable items for free to a good friend).
Discouraging gifts to weaker players
When you have a game where items are an important factor of how powerful characters are, these can make the game far too easy for the receiver of said gift to still be enjoyable. Also, when players already got everything they need, they won't feel any reward when finding new items which would be an improvement for a character of their level but aren't for them because they have extremely overpowered equipment. But without a constant reward stream, MMOs quickly lose their appeal. The game will feel boring and dull and they will quit soon.
(personal side-rant: This is why I hate it when I play an MMO and high-levels start giving me stuff for free. No, you aren't helping me and you aren't making the game better for me. You are ruining my game experience! When you want me to feel welcome so I stick around, be nice, give me hints, offer me fair deals, but don't take away the actual game).
A common method to avoid this is to have progress requirements for equipping items, like requiring a certain character level of character stats. Nothing would stop a veteran from giving their Level 90 Sword of Awesomeness +10 to a level 10 newbie, but the newbie won't be able to equip it before they reach level 90 themselves, so they won't have any benefit from it.
Discouraging gifts to stronger players
Weak players sending their items and resources to stronger players can be prevented easily by making sure that the stronger player has no need for them because their progression level means that they can get these far easier themselves. When the progression level greatly affects how many resources a player has access to, a low-level player will no longer have an effective way to boost a high-level player. A level 10 player sending the 100 gold they make daily to a level 90 player won't help them much when a level 90 can make 1000 gold in a minute of regular play.
When you have any resources which accumulate even when not actively playing the game, these resources should be untradeable because otherwise they are an invitation for multi-accounting.
Another option which was (afaik) invented by World of Warcraft is the "Binds when equipped" game mechanic: The first player-character who uses an item is the only one who can ever use it. The only value it has for other players is the resale value to NPC traders. This prevents veterans from handing their old equipment to other players, but still allows them to give away anything new they find but do not want to use themselves. So there is an even harsher form, the "Binds when picked up" mechanic which applies to some items and only allows the finder of the item to make use of it. These two mechanics can be used to prevent items from getting into the hands of players who shouldn't have them because of their level, but is also a great trade inhibitor, so you should think carefully about which items you want it to apply to.