I agree with the guys above. The only sure fire way is to have a hard wall - fiberglass, PE, stainless steel, acrylic, concrete, tile, etc.
With liners, there will always remain a chance. Now with EPDM 45 mil rubber liner or 20 mil PVC, the chance is 1,000,000x smaller than with standard above ground pool, shower-curtain-like vinyl liner. Still not zero.
Reinforced PE (RPE) liners are even tougher, much tougher to puncture. They are also 2x less expensive and 2x lighter than rubber but they IME don't hold water 100%. If in ground, that's an even better puncture resistant option. IME water seeps through them very, very slowly. Can't use for above ground, unless can tolerate and channel away a small amount of water.