Authorization 1C on the site PHP_AUTH_USER on CentOS apache

When synchronizing 1s with the site, to upload any information, you should resort to authorization. In order not to throw various unnecessary garbage on the site (at best).

So, after reading the literature, I realized that 1c exchanges headers with the site and prescribes PHP_AUTH_USER and PHP_AUTH_PW to it. But in my case, it was not possible to catch them in $_SERVER (maybe I didn’t set some settings in 1s).

Initially, it was planned to catch data after authorization like this :

<?php
$dbSeq = ['user' => 'test', 'pass' => 'test'];
$this->login = isset($_SERVER['PHP_AUTH_USER']) ? trim($_SERVER['PHP_AUTH_USER']) : null;
$this->password = isset($_SERVER['PHP_AUTH_PW']) ? trim($_SERVER['PHP_AUTH_PW']) : null;

if ($this->password == $dbSeq['pass'] && $this->login == $dbSeq['user']) {
return true;
}

But 1s did not give anything or the server could not accept this data (could not find the reason).

1с авторизация

My solution was to redirect HTTP:Authorization . I have used mod_rewrite on apache .

There must be a line in .htaccess :

RewriteEngine on

which enables the conversion mechanism in mod_rewrite.

In .htaccess, after all the rules, the RewriteRule was added :

RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

REMOTE_USER - indicates that {HTTP:Authorization} will be written to $_SERVER['REDIRECT_REMOTE_USER'] .

The data arrived in base64.

var_dump($_SERVER['REDIRECT_REMOTE_USER']);

["REDIRECT_REMOTE_USER"]=>
string(18) "Basic dGVzdDp0ZXN0"

I did a little trick with them :

<?php
$dbSeq = ['user' => 'test', 'pass' => 'test'];

if ($_SERVER["REDIRECT_REMOTE_USER"]) {
    $info = base64_decode(end(explode(' ',$_SERVER["REDIRECT_REMOTE_USER"])));
    $info = explode(':', $info);
    $this->login = $info[0]; // Test login arrived
    $this->password = $info[1]; // Test password arrived
}

if ($this->password == $dbSeq['pass'] && $this->login == $dbSeq[ 'user']) {
    return true;
}

1561 0

Comments

Be the first to review this item. Share your rating and review so that other customers can decide if this is the right item for them.
You have to log in to leave a comment. Sign in

Similar articles

Create and download CSV in PHP

Consider the possibility of quickly creating a CSV file with automatic file download. Consider the formation, separators and header for the ability to download the file.