How can write reffering page node or url in a field of entity form
Using an entityreference to the page the entity form is displayed on solved this for me. Here's some code providing a entity form block with the values prefilled and locked:

&lt;?php
/**
 * Implements hook_block_info().
 */
function mymodule_contact_block_info() {
  $blocks['mymodule_contact'] = array(
    'info' =&gt; t('mymodule contact form'),
  );
  return $blocks;
}

/**
 * Implements hook_block_view().
 */
function mymodule_contact_block_view($delta) {
  $block = array();
  switch ($delta) {
    case 'mymodule_contact' :
      module_load_include('inc', 'entityform', 'entityform.admin');
      $entity_form_name = 'contact'; // machine name of entity form
      $render_contact_form = entityform_form_wrapper(entityform_empty_load($entity_form_name), 'submit', 'embedded');
      $render_contact_form['field_contact_page']['#access'] = FALSE; // machine name of entity reference field
      $block['content'] = drupal_render($render_contact_form); 
      break;
  }
  return $block;
}

/**
 * Implements hook_entity_presave().
 *
 * set the page reference to the current active menu object
 */
function mymodule_contact_entity_presave($entity, $type) {
  if ($type == 'entityform' &amp;&amp; empty($entity-&gt;draft) &amp;&amp; $entity-&gt;type == 'contact' &amp;&amp; $entity-&gt;is_new == TRUE) {
    $node = menu_get_object();
    if (isset($node-&gt;nid)) {
      $entity-&gt;field_contact_page[LANGUAGE_NONE][0]['target_id'] = $node-&gt;nid;
    }
  }
}