繁体   English   中英

与用于注册和身份验证的REST API集成时,应该如何清理用户数据?

[英]How should I sanitize user data when integrating with a REST API for registration and authentication?

我正在编写一个Drupal模块,以与基于定制的基于Java的REST API集成在一起,以创建,认证和管理用户帐户。 我正在使用drupal_query_string_encode编码对API的调用。

在调用API之前,我还应该使用诸如check_plain之类的东西(或其他方式)来清理用户名,密码和电子邮件值吗? 我最关心的是正确处理密码,因为一旦代码上线并且密码被散列,将很难更改。

如果要将用户输入的内容发布到外部API,则不应在Drupal中清除任何内容,而应在API中进行处理,因为这将存储数据等。

进行清理仅是为了防止SQL注入或删除显示的不需要的HTML。 因此,您仅应使用check_plain从用户输入的文本中删除HTML,然后再使用db_query来使用占位符,以确保SQL查询的安全性。

我同意googletorp的观点,在这种情况下,实际上取决于外部API进行清理。 我将对用户输入进行一些基本的检查,以确保所有必需的值都已提交。 您对它们进行多少验证取决于您。 请记住,如果您在将输入发送到API之前强烈验证了输入,并且第三方API重写了输入的格式,则他们可能会遇到一些问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM