如何解决Laravel 7清理表单数据
我是Laravel 7的新手,想知道是否有一种现成的,优雅的解决方案来清理HTML表单输入?还是我可以下载推荐的受信任的第三方软件包?这用于我将存储在数据库中的数据。感谢您的帮助。
解决方法
一种建议的开箱即用的数据清理方法是将PHP附带的filter_var函数与不同的sanitize filters结合使用。顺便说一句,这也是验证输入的一种很酷的方法,看看types of filters可以了解更多信息。
在Laravel项目中工作时,我喜欢使用voku/portable-ascii library,因为它已经是框架依赖性。清理输入,删除不可打印的字符以及通常将任何输入转换为ASCII(包括音译和其他功能)的功能非常丰富。它并不总是完美的,但通常足够好,可以完成工作。
它始终取决于您要消毒的内容,方式和原因。在许多情况下,如果您遵循最佳实践,则根本不需要清理输入内容。当使用Eloquent或Query Builder时,您的数据会自动转义并在检索时(例如,将其输出时)。通过{{ $data }}
,它们也将被正确地转义。
在某些情况下,您应该更加谨慎,尤其是当您自己处理原始用户输入并可能通过命令行参数,文件名等将其传递给系统时。在这些情况下,最好是尽可能地限制和必要时允许。有时候,不错的旧preg_replace('/[^0-9A-Z_-]/i','',$subject)
才是正确的选择。如果您想尽可能地宽容,请尝试上面的建议。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。