Strictly you can't power via the GPIO (although even the Foundation gets it wrong), but you can through the power pins on the expansion header.
"It is possible to power the Pi by supplying 5V through the GPIO(sic) header pins 2,4 and GND. The acceptable input voltage range is 5V ±5%.
Raspberry Pi Model A+, B+, Raspberry Pi 2B and 3B have an 'ideal' reverse current blocking diode (ZVD) circuit on their 5V input. The 5V GPIO header pins connect to the 5V net after the micro-USB input, polyfuse and input 'ideal' diode made up of the PFET and matched PNP transistors. The ideal diode stops any appreciable current flowing back out of the 5V micro USB should the 5V net on the board be at a higher voltage than the 5V micro USB input.
If the add-on board uses any more GPIO connector pins than the first 26 and provides back-powering via the 5V GPIO(sic) header pins it is required to:
- Implement a duplicate power safety diode before the HAT 5V net (which then feeds power back through the 5V GPIO pins). Alternatively provide some other mechanism to guarantee that it is safe if both the Pi PSU and add-on board PSU are connected. It is still recommended to add this circuitry for new board designs that only implement the first 26 pins of the GPIO header but that also implement back powering (see below note)
- Make sure that the supply that does the back-powering can supply 5V at 2.5A.
NOTE that the Raspberry Pi 3B+ and Pi Zero and ZeroW do not include an input ZVD. The micro-USB input on a Pi is expected to / almost universally is driven by a power source which does not sink current, i.e. it will not try to actively pull down a voltage higher than its regulated voltage. If a HAT back-powers a Pi and uses a power source that does not try to sink current (and will safely stop/pause regulation if its input voltage is higher than its regulation voltage) it is OK to not include a ZVD on a HAT. If you are unsure or don't know then please include the ZVD! The HAT designer is responsible for the safety of their product.
Under no circumstances should a power source be connected to the GPIO(sic) header 3.3V pins.
See Raspberry Pi Power Limitations