CodeIgniter 3.1.0 发布,详情参见changelog。 更新如下: Security Fixed an SQL injection in the 'odbc' database driver. Updated hp:func:`set_realpath()` :doc:`Path Helpr <helpers/path_helper>` function to filter-out php://wrapper inputs. Officially dropped any kind of support for PHP 5.2.x and anything under 5.3.7. General Changes Changed salt-generation logic to prefer random_bytes() when it is available. Changed salt-generation logic to prefer direct access to /dev/urandom overopenssl_random_pseudo_bytes(). Changed salt-generation logic to error if openssl_random_pseudo_bytes() sets its $crypto_strong flag to FALSE. Updated :doc:`Image Manipulation Library <libraries/image_lib>` to validate width and height configuration values. Updated :doc:`Encryption Library <libraries/encryption>` to always prefer random_bytes() when it is available. Updated :doc:`Session Library <libraries/sessions>` to log 'debug' messages when using fallbacks tosession.save_path (php.ini) or 'sess_use_database', 'sess_table_name' settings. Added a 'LONGTEXT' to 'STRING' alias to :doc:`Database Forge <database/forge>` for the 'cubrid', 'pdo/cubrid' drivers. Added 'TINYINT', 'MEDIUMINT', 'INT' and 'BIGINT' aliases to 'NUMBER' to :doc:`Database Forge <database/forge>` for the 'oci8', 'pdo/oci' drivers. hp:func:`password_hash()` :doc:`compatibility function <general/compatibility_functions>` changes: Bug 修复 Fixed a bug where :doc:`Image Manipulation Library <libraries/image_lib>` didn't escape image source paths passed to ImageMagick as shell arguments. Fixed a bug (#861) - :doc:`Database Forge <database/forge>` method create_table() incorrectly accepts field width constraints for MSSQL/SQLSRV integer-type columns. Fixed a bug (#4562) - :doc:`Cache Library <libraries/caching>` didn't check if Memcached::quit() is available before calling it. Fixed a bug (#4563) - :doc:`Input Library <libraries/input>` method request_headers() ignores $xss_cleanparameter value after first call. Fixed a bug (#4605) - :doc:`Config Library <libraries/config>` method site_url() stripped trailing slashes from relative URIs passed to it. Fixed a bug (#4613) - :doc:`Email Library <libraries/config>` failed to send multiple emails via SMTP due to "already authenticated" errors when keep-alive is enabled. Fixed a bug (#4633) - :doc:`Form Validation Library <libraries/form_validation>` ignored multiple "callback" rules for empty, non-required fields. Fixed a bug (#4637) - :doc:`Database <database/index>` method error() returned FALSE with the 'oci8' driver if there was no error. Fixed a bug (#4647) - :doc:`Query Builder <database/query_builder>` method count_all_results() doesn't take into account GROUP BY clauses while deciding whether to do a subquery or not. Fixed a bug where :doc:`Session Library <libraries/sessions>` 'redis' driver didn't properly detect if a connection is properly closed on PHP 5.x. Fixed a bug (#4583) - :doc:`Email Library <libraries/email>` didn't properly handle inline attachments in HTML emails. Fixed a bug where :doc:`Database <database/index>` method db_select() didn't clear metadata cached for the previously used database. Fixed a bug (#4675) - :doc:`File Helper <helpers/file_helper>` function hp:func:`delete_files()` treated symbolic links as regular directories. Fixed a bug (#4674) - :doc:`Database <database/index>` driver 'dblib' triggered E_WARNING messages while connecting. Fixed a bug (#4678) - :doc:`Database Forge <database/forge>` tried to use unsupported IF NOT EXISTS clause when creating tables on Oracle. Fixed a bug (#4691) - :doc:`File Uploading Library <libraries/file_uploading>` method data() returns wrong 'raw_name' when the filename extension is also contained in the raw filename. Fixed a bug (#4679) - :doc:`Input Library <libraries/input>` method ip_address() errors with a matching$config['proxy_ips'] IPv6 address. Fixed a bug (#4695) - :doc:`User Agent Library <libraries/user_agent>` didn't load the config/user_agents.phpfile when there's no User-Agent HTTP request header. Fixed a bug (#4713) - :doc:`Query Builder <database/query_builder>` methods insert_batch(),update_batch() could return wrong affected rows count. Fixed a bug (#4712) - :doc:`Email Library <libraries/email>` doesn't sent RSET to SMTP servers after a failure and while using keep-alive. Fixed a bug (#4724) - :doc:`Common function <general/common_functions>` hp:func:`is_https()` compared the X-Forwarded-Proto HTTP header case-sensitively. Fixed a bug (#4725) - :doc:`Common function <general/common_functions>`hp:func:`remove_invisible_characters()` searched case-sensitively for URL-encoded characters. 下载地址: Source code (zip) Source code (tar.gz) CodeIgniter 3.1.0 发布,PHP 的 MVC 框架下载地址