我编写了一个Wordpress php模板,通过HTML表单接受用户输入。表单中的信息用于创建新的(草稿)帖子。我已使用转义了所有输入。
esc_html($_POST['name']);
在提交之前,我还会检查用户输入是否存在。如何防止sql注入?我还应该采取其他预防措施吗。
如果使用内置函数(如wp_insert_post
)创建post,则不需要担心SQL注入;WordPress在插入数据库之前对内容进行转义。
如果正在运行任何其他查询,请确保使用$wpdb->prepare()
绑定参数。逃跑的人会照顾好你的。
你应该阅读这篇文章:
https://codex.wordpress.org/Data_Validation#Database
您还应该考虑在表单中添加一个nonce:
https://codex.wordpress.org/Function_Reference/wp_nonce_field