Skip to content

Instantly share code, notes, and snippets.

@anishsheela
Created August 18, 2016 09:59
Show Gist options
  • Save anishsheela/40a7f474963b273ca0aab6b5c2be4dfd to your computer and use it in GitHub Desktop.
Save anishsheela/40a7f474963b273ca0aab6b5c2be4dfd to your computer and use it in GitHub Desktop.
Drupal script to login without password
<?php
/**
* Script to login as any user in Drupal without password.
* Put the script in root directory and use any of these formats.
* '/script.php?user=admin'
* '/script.php?uid=1'
* '/script.php'
*
* NEVER EVER EVER commit this to publicly accessible instance.
*
* Copyright (c) 2016 Anish A <aneesh.nl@gmail.com>,
* Anoop John <anoop.john@zyxware.com>.
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without restriction,
* including without limitation the rights to use, copy, modify, merge,
* publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
// Accepts both uid and user arguments with uid 1 as default.
$uid = isset($_GET['uid'])?$_GET['uid']:1;
$user_name = isset($_GET['user'])?$_GET['user']:NULL;
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
global $user;
$user = user_load_by_name($user_name);
if(FALSE === $user) {
$user = user_load($uid);
}
drupal_session_regenerate();
drupal_goto('user');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment