Anywhere you handle IP addresses needs to be audited to check if it is IPv6 clean. Simple webapps may not bother storing any IP addresses but many will for the purposes of abuse tracking/control. IPv6 addresses are larger than ipv4 ones and the textual representations use different symbols.
Under some circumstances IPv4 connections can be handled on an IPv6 socket. In this case you may see "IPv4 mapped addresses" which you may need to convert back to normal IPv4 addresses before storing/comparing them (a lower level process like the webserver may or may not handle this conversion for you).
Dealing with abusers may require some consideration. Banning single addresses is likely futile. For effective banning you will want the ability to ban based on various different prefix lengths. You may also want the ability to map an abusers usage patterns to blocks. Similar problems apply to limits placed on the number of connections per user.
As the IPv4 crunch bites deeper we are likely to see more use of reverse proxy setups to share a limited pool of public IPv4 addresses among v6-only origin servers. Making your software ready for working with reverse proxys is therefore a wise move. This typically means having a list of trusted reverse proxies from which you will accept x-forwarded-for headers.