ipb官方提供的补丁: else if ( ! preg_match('/(^|;|{|})O:[0-9]+:"/', $serialized ) ) { // in case we did have a string with O: in it, // but it was not a true serialized object return @unserialize( $serialized ); }
不过被se神人喷了个狗血淋头:
The regular expression '/(^|;|{|})O:[0-9]+:"/' is easily bypassed because of a bunch of unserialize() parser quirks. O:+17: is just one of many :P