'$2y$12$6iyKwObB3zokmhwUuBhXxuB3/ZenHS4aosToHJJK0Yl3JgY1S80sy',
);
// Readonly users
// e.g. array('users', 'guest', ...)
$readonly_users = array(
'user'
);
// Global readonly, including when auth is not being used
$global_readonly = false;
// user specific directories
// array('Username' => 'Directory path', 'Username2' => 'Directory path', ...)
$directories_users = array();
// Enable highlight.js (https://highlightjs.org/) on view's page
$use_highlightjs = true;
// highlight.js style
// for dark theme use 'ir-black'
$highlightjs_style = 'vs';
// Enable ace.js (https://ace.c9.io/) on view's page
$edit_files = true;
// Default timezone for date() and time()
// Doc - http://php.net/manual/en/timezones.php
$default_timezone = 'Etc/UTC'; // UTC
// Root path for file manager
// use absolute path of directory i.e: '/var/www/folder' or $_SERVER['DOCUMENT_ROOT'].'/folder'
$root_path = $_SERVER['DOCUMENT_ROOT'];
// Root url for links in file manager.Relative to $http_host. Variants: '', 'path/to/subfolder'
// Will not working if $root_path will be outside of server document root
$root_url = '';
// Server hostname. Can set manually if wrong
// $_SERVER['HTTP_HOST'].'/folder'
$http_host = $_SERVER['HTTP_HOST'];
// input encoding for iconv
$iconv_input_encoding = 'UTF-8';
// date() format for file modification date
// Doc - https://www.php.net/manual/en/function.date.php
$datetime_format = 'm/d/Y g:i A';
// Path display mode when viewing file information
// 'full' => show full path
// 'relative' => show path relative to root_path
// 'host' => show path on the host
$path_display_mode = 'full';
// Allowed file extensions for create and rename files
// e.g. 'txt,html,css,js'
$allowed_file_extensions = '';
// Allowed file extensions for upload files
// e.g. 'gif,png,jpg,html,txt'
$allowed_upload_extensions = '';
// Favicon path. This can be either a full url to an .PNG image, or a path based on the document root.
// full path, e.g http://example.com/favicon.png
// local path, e.g images/icons/favicon.png
$favicon_path = '';
// Files and folders to excluded from listing
// e.g. array('myfile.html', 'personal-folder', '*.php', ...)
$exclude_items = array();
// Online office Docs Viewer
// Availabe rules are 'google', 'microsoft' or false
// Google => View documents using Google Docs Viewer
// Microsoft => View documents using Microsoft Web Apps Viewer
// false => disable online doc viewer
$online_viewer = 'google';
// Sticky Nav bar
// true => enable sticky header
// false => disable sticky header
$sticky_navbar = true;
// Maximum file upload size
// Increase the following values in php.ini to work properly
// memory_limit, upload_max_filesize, post_max_size
$max_upload_size_bytes = 5000000000; // size 5,000,000,000 bytes (~5GB)
// chunk size used for upload
// eg. decrease to 1MB if nginx reports problem 413 entity too large
$upload_chunk_size_bytes = 2000000; // chunk size 2,000,000 bytes (~2MB)
// Possible rules are 'OFF', 'AND' or 'OR'
// OFF => Don't check connection IP, defaults to OFF
// AND => Connection must be on the whitelist, and not on the blacklist
// OR => Connection must be on the whitelist, or not on the blacklist
$ip_ruleset = 'OFF';
// Should users be notified of their block?
$ip_silent = true;
// IP-addresses, both ipv4 and ipv6
$ip_whitelist = array(
'127.0.0.1', // local ipv4
'::1' // local ipv6
);
// IP-addresses, both ipv4 and ipv6
$ip_blacklist = array(
'0.0.0.0', // non-routable meta ipv4
'::' // non-routable meta ipv6
);
// if User has the external config file, try to use it to override the default config above [config.php]
// sample config - https://tinyfilemanager.github.io/config-sample.txt
$config_file = __DIR__.'/config.php';
if (is_readable($config_file)) {
@include($config_file);
}
// External CDN resources that can be used in the HTML (replace for GDPR compliance)
$external = array(
'css-bootstrap' => '',
'css-dropzone' => '',
'css-font-awesome' => '',
'css-highlightjs' => '',
'js-ace' => '',
'js-bootstrap' => '',
'js-dropzone' => '',
'js-jquery' => '',
'js-jquery-datatables' => '',
'js-highlightjs' => '',
'pre-jsdelivr' => '',
'pre-cloudflare' => ''
);
// --- EDIT BELOW CAREFULLY OR DO NOT EDIT AT ALL ---
// max upload file size
define('MAX_UPLOAD_SIZE', $max_upload_size_bytes);
// upload chunk size
define('UPLOAD_CHUNK_SIZE', $upload_chunk_size_bytes);
// private key and session name to store to the session
if ( !defined( 'FM_SESSION_ID')) {
define('FM_SESSION_ID', 'filemanager');
}
// Configuration
$cfg = new FM_Config();
// Default language
$lang = isset($cfg->data['lang']) ? $cfg->data['lang'] : 'en';
// Show or hide files and folders that starts with a dot
$show_hidden_files = isset($cfg->data['show_hidden']) ? $cfg->data['show_hidden'] : true;
// PHP error reporting - false = Turns off Errors, true = Turns on Errors
$report_errors = isset($cfg->data['error_reporting']) ? $cfg->data['error_reporting'] : true;
// Hide Permissions and Owner cols in file-listing
$hide_Cols = isset($cfg->data['hide_Cols']) ? $cfg->data['hide_Cols'] : true;
// Theme
$theme = isset($cfg->data['theme']) ? $cfg->data['theme'] : 'light';
define('FM_THEME', $theme);
//available languages
$lang_list = array(
'en' => 'English'
);
if ($report_errors == true) {
@ini_set('error_reporting', E_ALL);
@ini_set('display_errors', 1);
} else {
@ini_set('error_reporting', E_ALL);
@ini_set('display_errors', 0);
}
// if fm included
if (defined('FM_EMBED')) {
$use_auth = false;
$sticky_navbar = false;
} else {
@set_time_limit(600);
date_default_timezone_set($default_timezone);
ini_set('default_charset', 'UTF-8');
if (version_compare(PHP_VERSION, '5.6.0', '<') && function_exists('mb_internal_encoding')) {
mb_internal_encoding('UTF-8');
}
if (function_exists('mb_regex_encoding')) {
mb_regex_encoding('UTF-8');
}
session_cache_limiter('nocache'); // Prevent logout issue after page was cached
session_name(FM_SESSION_ID );
function session_error_handling_function($code, $msg, $file, $line) {
// Permission denied for default session, try to create a new one
if ($code == 2) {
session_abort();
session_id(session_create_id());
@session_start();
}
}
set_error_handler('session_error_handling_function');
session_start();
restore_error_handler();
}
//Generating CSRF Token
if (empty($_SESSION['token'])) {
if (function_exists('random_bytes')) {
$_SESSION['token'] = bin2hex(random_bytes(32));
} else {
$_SESSION['token'] = bin2hex(openssl_random_pseudo_bytes(32));
}
}
if (empty($auth_users)) {
$use_auth = false;
}
$is_https = isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1)
|| isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https';
// update $root_url based on user specific directories
if (isset($_SESSION[FM_SESSION_ID]['logged']) && !empty($directories_users[$_SESSION[FM_SESSION_ID]['logged']])) {
$wd = fm_clean_path(dirname($_SERVER['PHP_SELF']));
$root_url = $root_url.$wd.DIRECTORY_SEPARATOR.$directories_users[$_SESSION[FM_SESSION_ID]['logged']];
}
// clean $root_url
$root_url = fm_clean_path($root_url);
// abs path for site
defined('FM_ROOT_URL') || define('FM_ROOT_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . (!empty($root_url) ? '/' . $root_url : ''));
defined('FM_SELF_URL') || define('FM_SELF_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . $_SERVER['PHP_SELF']);
// logout
if (isset($_GET['logout'])) {
unset($_SESSION[FM_SESSION_ID]['logged']);
unset( $_SESSION['token']);
fm_redirect(FM_SELF_URL);
}
// Validate connection IP
if ($ip_ruleset != 'OFF') {
function getClientIP() {
if (array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)) {
return $_SERVER["HTTP_CF_CONNECTING_IP"];
}else if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
return $_SERVER["HTTP_X_FORWARDED_FOR"];
}else if (array_key_exists('REMOTE_ADDR', $_SERVER)) {
return $_SERVER['REMOTE_ADDR'];
}else if (array_key_exists('HTTP_CLIENT_IP', $_SERVER)) {
return $_SERVER['HTTP_CLIENT_IP'];
}
return '';
}
$clientIp = getClientIP();
$proceed = false;
$whitelisted = in_array($clientIp, $ip_whitelist);
$blacklisted = in_array($clientIp, $ip_blacklist);
if($ip_ruleset == 'AND'){
if($whitelisted == true && $blacklisted == false){
$proceed = true;
}
} else
if($ip_ruleset == 'OR'){
if($whitelisted == true || $blacklisted == false){
$proceed = true;
}
}
if($proceed == false){
trigger_error('User connection denied from: ' . $clientIp, E_USER_WARNING);
if($ip_silent == false){
fm_set_msg(lng('Access denied. IP restriction applicable'), 'error');
fm_show_header_login();
fm_show_message();
}
exit();
}
}
// Checking if the user is logged in or not. If not, it will show the login form.
if ($use_auth) {
if (isset($_SESSION[FM_SESSION_ID]['logged'], $auth_users[$_SESSION[FM_SESSION_ID]['logged']])) {
// Logged
} elseif (isset($_POST['fm_usr'], $_POST['fm_pwd'], $_POST['token'])) {
// Logging In
sleep(1);
if(function_exists('password_verify')) {
if (isset($auth_users[$_POST['fm_usr']]) && isset($_POST['fm_pwd']) && password_verify($_POST['fm_pwd'], $auth_users[$_POST['fm_usr']]) && verifyToken($_POST['token'])) {
$_SESSION[FM_SESSION_ID]['logged'] = $_POST['fm_usr'];
fm_set_msg(lng('You are logged in'));
fm_redirect(FM_SELF_URL);
} else {
unset($_SESSION[FM_SESSION_ID]['logged']);
fm_set_msg(lng('Login failed. Invalid username or password'), 'error');
fm_redirect(FM_SELF_URL);
}
} else {
fm_set_msg(lng('password_hash not supported, Upgrade PHP version'), 'error');;
}
} else {
// Form
unset($_SESSION[FM_SESSION_ID]['logged']);
fm_show_header_login();
?>
Get started utilizing the best backpages alternate today
Are you selecting an alternative towards the popular backpages site? in that case, you are in fortune! there are a variety of great alternatives online that will help you will get this content you will need and never have to rely on backpages. among the best backpages alternatives is craigslist. craigslist is an excellent option for those who are looking for classified ads that are particular for their area. there are also many bargains on things that you are selecting. another great option is ebay. e-bay back pages alternative is a great spot to find discounts on items that you could be in search of. finally, there’s google. google is a superb choice for people who are looking for information. you will find a lot of great informative data on backpages alternatives on google.
Looking for a backpages alternative?
There are a number of different backpages alternatives open to the online dating community.some of the very most popular backpages alternatives include backpage.com, craigslist, and kijiji.backpage.com is the most well-known backpages alternative.backpage.com is a classified marketing website that was established in 2004.backpage.com is the second-largest categorized marketing site on the planet.backpage.com is famous because of its substantial choice of advertisements and its user-friendly interface.craigslist is another popular backpages alternative.craigslist is a classified marketing internet site that was started in 1995.craigslist is currently the fourth-largest classified marketing internet site in world.craigslist is known because of its user-friendly program and its particular substantial collection of ads.kijiji is a canadian backpages alternative.kijiji is a classified advertising internet site which was started in 2004.kijiji is the fifth-largest categorized advertising site within the world.kijiji is well known because of its user-friendly software as well as its substantial choice of adverts.
Exploring the many benefits of utilizing a backpages alternative
When it comes down to internet dating, many people consider the most popular dating site, backpage. however, there are more solutions, such as the popular categorized advertisements site, craigslist. one of many benefits of using a backpages alternative is the fact that it can be more discreet. this is because backpage is a classified adverts site, meaning that the advertisements aren’t searchable by google. this can be an advantage if you should be trying to do not be discovered by the date. the reason being backpage will not charge a commission on advertisements. this means that you can save money applying this web site. finally, utilizing a backpages alternative can be more anonymous. it is because backpage cannot require you to provide your name or email.
Find the best backpages alternative for the dating needs
Finding the very best backpages alternative for your dating requires is a daunting task. with many solutions, it may be difficult to know which one is right for you. but by using the right backpages alternative, there is an ideal partner for your needs and never have to invest a lot of money. among the best backpages options is craigslist. craigslist is a free online classifieds website enabling users to post free adverts for anything they need. this consists of dating advertisements, which is often a great way to find somebody who works with with you. another great choice for finding a backpages alternative is match.com. match.com is a dating site which popular for the user-friendly interface as well as its big pool of potential partners. this site enables you to browse through profiles of people that are seeking a relationship, which can help you see the proper person for you personally. whatever your requirements can be, there’s a backpages alternative available to you which will fit them. just be sure to use the right one for the situation, and you will be capable of finding the right partner for your requirements.
Discover the best backpages alternatives for dating
There are numerous backpages alternatives for dating on the market, and it can be difficult to determine which is most beneficial available.however, using the right backpages alternative, you will find plenty of great singles to date.one of the greatest backpages alternatives for dating is the dating internet site, match.com.this site is a great strategy for finding an individual who works with with you, and has now many cool features that make it outstanding choice for dating.another great backpages alternative for dating may be the dating site, okcupid.this website has plenty of features, like the capacity to search by location and by interests.this helps it be an excellent option for people who want to find someone who is a good complement them.there will also be lots of different backpages alternatives for dating which are particular to certain specified areas.for instance, the backpages alternative for dating in the us may be the dating website, match.com.this site is ideal for individuals who want to find an individual who is within the us.there will also be countless different backpages alternatives for dating which can be certain to certain forms of people.for example, the backpages substitute for dating people who are interested in bdsm is the bdsm dating site, fetlife.this site is fantastic for people that are thinking about bdsm, and it has plenty of different features that make it outstanding choice for dating.overall, there are a lot of great backpages alternatives for dating nowadays, and by using the right one, you’ll find some great singles to date.
just what are backpages alternatives?
There are a number of different backpages alternatives you can use and discover dating content that’s relevant to your interests.some of the most extremely popular backpages alternatives consist of okcupid, match.com, and tinder.each of these web sites has its own set of features and benefits that may allow it to be a better option for finding content which highly relevant to your interests.okcupid is a website that is understood because of its user-friendly screen and its particular ability to offer users with an array of content choices.match.com is a website that’s understood for its user-friendly screen and its own power to offer users with many dating options.tinder is a niche site which understood for its quick and easy screen and its capability to provide users with many dating options.each of the sites has its own set of features and benefits that may ensure it is a better selection for choosing content that is relevant to your passions.okcupid is a site that’s known because of its user-friendly program and its particular capability to offer users with many content options.match.com is a niche site which understood because of its user-friendly software and its capability to provide users with an array of dating choices.tinder is a site that’s known because of its fast and simple user interface and its power to offer users with many dating choices.there are many other backpages alternatives that can be used to find content which highly relevant to your interests.some of the most extremely popular backpages alternatives include reddit, 4chan, and craigslist.each of the websites features its own set of features and advantages that can ensure it is a much better selection for finding content that is highly relevant to your interests.reddit is a site which known because of its user-friendly screen and its own capacity to offer users with an array of content options.4chan is a niche site which understood for its user-friendly user interface as well as its power to offer users with a wide range of content options.craigslist is a site which known because of its user-friendly program as well as its power to provide users with an array of dating options.