Code Monkey home page Code Monkey logo

logintoasqlite3databasewithoutcredentialswithadminer's Introduction

🇺🇸 Adminer plugin to login to a SQLite3 database without credentials

This plugin for the Web application AdminerEvo) allows you to "connect to a database server SQLite3" without the need to provide credentials (no username and no password).

⚠️ This plugin should not be used in a production environment:

  • it gives access to all the SQLite3 databases accessible by the PHP script instance
  • it allows you to create a SQLite3 database anywhere in the file system tree that can be accessed by the PHP script instance

🏅 This plugin is now in the official list of User Contributed Plugins for Adminer.

👷 Install or 🆕 ⚙️ Compile or 🤖 Use

👷 Install the plugin

The plugin is used like any other Adminer plugins, that is to say that it requires the following files:

Folder Script Description
./plugins plugin.php the plugin base file
./plugins fc-sqlite-connection-without-credentials.php the plugin itself
./ adminer-current.php the current version of adminer
./ adminer-4-sqlite3.php an "Adminer" loading the plugin

UML component diagram : SQLite3 plugin for Adminer

<?php 

// ./adminer-4-sqlite3.php

$_GET['sqlite'] = '';

function adminer_object() {

   require "./plugins/fc-sqlite-connection-without-credentials.php";
   require "./plugins/plugin.php";
  
   $plugins = array(new FCSqliteConnectionWithoutCredentials());
    
   return new AdminerPlugin($plugins);

}

require "./adminer-current.php";

🆕 ⚙️ Compile a single file version

This script is used to compile a SQLite3 "dedicated" Adminer file:

  • easy installation (a file to copy)
  • light size (< 190Ko)
  • can embedded your favorite design
  • respect the philosophy of Adminer

Adminer consist of a single file ready to deploy to the target server.

📝 You can contribute by filling the warning translations file (warning-translations.csv)

Examples of usage

  • How to use it
> ./compile.sh
usage: ./compile.sh languagecode [design]
  • First usage
> ./compile.sh en
1. Load adminer's sources:

Clonage dans 'adminer'...
remote: Enumerating objects: 22712, done.
remote: Total 22712 (delta 0), reused 0 (delta 0), pack-reused 22712
Réception d'objets: 100% (22712/22712), 7.81 MiB | 3.55 MiB/s, fait.
Résolution des deltas: 100% (16486/16486), fait.
Sous-module 'JsShrink' (git://github.com/vrana/JsShrink) enregistré pour le chemin 'externals/JsShrink'
Sous-module 'jush' (git://github.com/vrana/jush) enregistré pour le chemin 'externals/jush'
Clonage dans '/home/francois/adminer/compile/adminer/externals/JsShrink'...
remote: Enumerating objects: 55, done.        
remote: Total 55 (delta 0), reused 0 (delta 0), pack-reused 55        
Réception d'objets: 100% (55/55), 116.93 KiB | 410.00 KiB/s, fait.
Résolution des deltas: 100% (11/11), fait.
Clonage dans '/home/francois/adminer/compile/adminer/externals/jush'...
remote: Enumerating objects: 1231, done.        
remote: Total 1231 (delta 0), reused 0 (delta 0), pack-reused 1231        
Réception d'objets: 100% (1231/1231), 806.41 KiB | 358.00 KiB/s, fait.
Résolution des deltas: 100% (854/854), fait.
Chemin de sous-module 'externals/JsShrink' : '17cbfacae67dede6d94d94ce92214c8ca31d858e' extrait
Chemin de sous-module 'externals/jush' : '275c9cc888608f36895e3926c16e8d2e2dab0a1c' extrait

2. Load plugin code:

--2020-11-11 13:06:17--  https://raw.githubusercontent.com/FrancoisCapon/LoginToASqlite3DatabaseWithoutCredentialsWithAdminer/master/fc-sqlite-connection-without-credentials.php
Résolution de raw.githubusercontent.com (raw.githubusercontent.com)… 151.101.120.133
Connexion à raw.githubusercontent.com (raw.githubusercontent.com)|151.101.120.133|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 1509 (1,5K) [text/plain]
Enregistre : «adminer/plugins/fc-sqlite-connection-without-credentials.php»

fc-sqlite-connection-without-credentials.php 100%[===========================================================================================>]   1,47K  --.-KB/s    ds 0s      

2020-11-11 13:06:18 (7,81 MB/s) - «adminer/plugins/fc-sqlite-connection-without-credentials.php» enregistré [1509/1509]

3. Adding the plugin to the sources

4. Search warning translation

5. Compile in language: en

adminer-4.7.7-sqlite-en.php created (191343 B).

6. Clean the sources

7. Voilà!
  • Next usage
> ./compile.sh fr flat

1. Search warning translation

Attention : ne l\'utilisez pas dans un environnement de production !

2. Set the design: flat

3. Compile in language: fr

adminer-4.7.7-sqlite-fr.php created (193736 B).

4. Clean the sources

5. Voilà!

🖥️ Using Adminer with SQLite3 databases

Simply "authenticate" by clicking on the Authentication button by indicating (or not) the path of an existing database.

▶️ Authenfication to create a new SQLite3 database

  • The connection is made without indicating a database.
  • It is then possible to create a new database.

adminer for sqlite3 witout credentials new database

▶️ Authentication on an existing SQLite3 database

  • The connection is made by specifying the "server file system" path of an existing database.

adminer for sqlite3 witout credentials existing database

🇫🇷 Plug-in Adminer pour se connecter à une base de données SQLite3 sans informations d'identification

Ce plug-in pour l'application Web Adminer permet de se « connecter à un serveur de bases de données SQLite3 » sans avoir besoin de fournir d'informations d'identification (no credentials: no username and no password).

⚠️ Ce plug-in ne doit pas être utilisé dans un environnement de production :

  • il donne accès à toutes les bases de données SQLite3 accessibles par l'instance du script PHP
  • il permet de créer une base de données SQLite3 n'importe où dans l'arborescence du système de fichiers qui accessible par l'instance du script PHP

🏅 Ce plugin est maintenant référencé dans la liste des User Contributed Plugins for Adminer.

👷 Installer ou 🆕 ⚙️ Compiler ou 🤖 Utiliser

👷 Installer le plug-in

Le plug-in s'utilise comme n'importe quels autres plug-ins de Adminer, c'est-à-dire qu'il nécessite les fichiers suivants :

Dossier Script Description
./plugins plugin.php le fichier de base des plug-ins
./plugins fc-sqlite-connection-without-credentials.php le plug-in lui-même
./ adminer-current.php la version courante d'adminer
./ adminer-4-sqlite3.php un « adminer » chargeant le plug-in

diagramme de composants UML : plugin SQLite3 pour Adminer

<?php 

// ./adminer-4-sqlite3.php

$_GET['sqlite'] = '';

function adminer_object() {

   require "./plugins/fc-sqlite-connection-without-credentials.php";
   require "./plugins/plugin.php";
  
   $plugins = array(new FCSqliteConnectionWithoutCredentials());
    
   return new AdminerPlugin($plugins);

}

require "./adminer-current.php";

🆕 ⚙️ Compiler une version monofichier

Ce script permet de compiler un Adminer monofichier "dédié" SQLite3 :

  • installation facile (un fichier à copier)
  • faible taille (< 190Ko)
  • peut intégrer votre design favori
  • respect la philosophie de Adminer

Adminer consist of a single file ready to deploy to the target server.

Examples d'utilisation

  • Comment l'utiliser
> ./compile.sh
usage: ./compile.sh languagecode [design]
  • Première utilisation
> ./compile.sh en
1. Load adminer's sources:

Clonage dans 'adminer'...
remote: Enumerating objects: 22712, done.
remote: Total 22712 (delta 0), reused 0 (delta 0), pack-reused 22712
Réception d'objets: 100% (22712/22712), 7.81 MiB | 3.55 MiB/s, fait.
Résolution des deltas: 100% (16486/16486), fait.
Sous-module 'JsShrink' (git://github.com/vrana/JsShrink) enregistré pour le chemin 'externals/JsShrink'
Sous-module 'jush' (git://github.com/vrana/jush) enregistré pour le chemin 'externals/jush'
Clonage dans '/home/francois/adminer/compile/adminer/externals/JsShrink'...
remote: Enumerating objects: 55, done.        
remote: Total 55 (delta 0), reused 0 (delta 0), pack-reused 55        
Réception d'objets: 100% (55/55), 116.93 KiB | 410.00 KiB/s, fait.
Résolution des deltas: 100% (11/11), fait.
Clonage dans '/home/francois/adminer/compile/adminer/externals/jush'...
remote: Enumerating objects: 1231, done.        
remote: Total 1231 (delta 0), reused 0 (delta 0), pack-reused 1231        
Réception d'objets: 100% (1231/1231), 806.41 KiB | 358.00 KiB/s, fait.
Résolution des deltas: 100% (854/854), fait.
Chemin de sous-module 'externals/JsShrink' : '17cbfacae67dede6d94d94ce92214c8ca31d858e' extrait
Chemin de sous-module 'externals/jush' : '275c9cc888608f36895e3926c16e8d2e2dab0a1c' extrait

2. Load plugin code:

--2020-11-11 13:06:17--  https://raw.githubusercontent.com/FrancoisCapon/LoginToASqlite3DatabaseWithoutCredentialsWithAdminer/master/fc-sqlite-connection-without-credentials.php
Résolution de raw.githubusercontent.com (raw.githubusercontent.com)… 151.101.120.133
Connexion à raw.githubusercontent.com (raw.githubusercontent.com)|151.101.120.133|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 1509 (1,5K) [text/plain]
Enregistre : «adminer/plugins/fc-sqlite-connection-without-credentials.php»

fc-sqlite-connection-without-credentials.php 100%[===========================================================================================>]   1,47K  --.-KB/s    ds 0s      

2020-11-11 13:06:18 (7,81 MB/s) - «adminer/plugins/fc-sqlite-connection-without-credentials.php» enregistré [1509/1509]

3. Adding the plugin to the sources

4. Search warning translation

5. Compile in language: en

adminer-4.7.7-sqlite-en.php created (191343 B).

6. Clean the sources

7. Voilà!
  • Utilisation suivante
> ./compile.sh fr flat

1. Search warning translation

Attention : ne l\'utilisez pas dans un environnement de production !

2. Set the design: flat

3. Compile in language: fr

adminer-4.7.7-sqlite-fr.php created (193736 B).

4. Clean the sources

5. Voilà!

🖥️ Utilisation d'Adminer avec des bases SQLite3

Il suffit de « s'authentifier » en cliquant sur le bouton Authentification en indiquant (ou non) le chemin d'une base de donnée existante.

▶️ Authenfication pour créer une nouvelle base SQLite3

  • La connexion s'effectue sans indiquer de base de données.
  • Il est alors possible de créer une nouvelle base de données.

adminer pour sqlite3 nouvelle base de données

▶️ Authenfication sur base SQLite3 existante

  • La connexion s'effectue en indiquant le chemin « système de fichiers serveur » d'une base de données existante.

adminer pour sqlite3 base de données existante

logintoasqlite3databasewithoutcredentialswithadminer's People

Contributors

francoiscapon avatar juliuspc avatar n0nag0n avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

logintoasqlite3databasewithoutcredentialswithadminer's Issues

Getting stdClass::$orgTable error same as like adminer-4.8.1

Hello,
I have seen a bug in the dev build for sqlite, which is

image
Warning: Undefined property: stdClass::$orgtable in C:\Bitnami\apachephp\Apache24\htdocs\adminer\adminer-dev.php on line 679
This bug is also present in adminer 4.8.1 on line number 1478.

php version 8.0.3
windows 8.1 x64
apache 2.4

dataset was a simple table with three columns and 10 rows.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.