drupal:使用drupal_bootstrap()时禁用输入验证

时间:2011-11-30 07:07:36

标签: php drupal drupal-7

我创建了一个drupal 7模块,用于从数据库中的自定义表中提取数据。

数据库来自一个单独的管理区域,使用drupal的数据库和会话api,

drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION)

问题是,当我提交表单并且字段有网址时,它会返回403禁止错误,并且不会更新/创建记录。

我已经检查了错误日志,没有任何内容出现,我猜是因为drupal的核心输入验证。

任何帮助?

1 个答案:

答案 0 :(得分:1)

它不太可能是验证问题,Drupal核心中的验证函数没有调用我所知道的403标题。

您更有可能没有登录,因此无法访问您尝试提交的页面。在致电drupal_bootstrap后,您可以立即“伪造”这样的登录信息:

$form_state['uid'] = 1;
user_login_submit(array(), $form_state);

那应该解决问题。如果您不希望脚本以完全权限运行,那么您可能希望使用1以外的用户ID(超级用户)。

希望有所帮助