HTaccess en leestekens in gebruikersnaam

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

E Ander

E Ander

09/11/2020 11:29:21
Quote Anchor link
Hallo,
Ik wil een map beveiligen met htaccess. Nu heeft één van de gebruikers een naam waar leestekens voor gebruikt wordt. Om in te kunnen loggen heb ik een ë nodig. Dat wordt niet standaard geaccepteerd door htaccess. (bij mij niet)
Nu kan ik de gebruiker natuurlijk een andere gebruikersnaam opleggen maar dat vind ik een slecht idee. Blijven er 2 mogelijkheden over, kijken of ik naam en wachtwoord via php in htaccess kan invoeren (hulp a.u.b.) of uitvinden hoe ik het voor elkaar kan krijgen dat de ë in de gebruikersnaam wordt omgezet in een e (achter de schermen) bij htaccess.

Als iemand een oplossing weet, help me a.u.b.

m.v.g.
Peter
 
PHP hulp

PHP hulp

27/11/2020 09:31:42
 
- Ariën -
Beheerder

- Ariën -

09/11/2020 11:42:57
Quote Anchor link
Als ik een snelle blik neem in de RFC van HTTP Authorization heb ik mijn twijfels of het inderdaad kan.
 
Adoptive Solution

Adoptive Solution

09/11/2020 12:20:49
Quote Anchor link
Geen enkel probleem.

Beide zijn ëndüser

ëndüser:$2y$10$nZTl7QatBc49tcmzNPPj.urIhYKrgoiubgod2SCqXzLBXPLN3AdJ.

https://hostingcanada.org/htpasswd-generator/

Gebruik Bcrypt in Mode menu
 
E Ander

E Ander

14/11/2020 21:33:31
Quote Anchor link
Arien en adoptive Solution,bedankt voor jullie antwoord. Ik ga het binnenkort uitproberen. Ik verwacht echter geen mode menu. Dus moet ik uitvinden hoe dat werkt.
Groet
 
Thomas van den Heuvel

Thomas van den Heuvel

14/11/2020 21:53:52
Quote Anchor link
Als je de beschikking hebt over een scriptingtaal en/of database zou je deze functionaliteit hier ook in kunnen trekken en zou je een kleine beheerapplicatie kunnen schrijven zodat je niet hoeft lopen te pielen met speciale tekens in een tekstbestand.
 
E Ander

E Ander

15/11/2020 09:02:15
Quote Anchor link
Thomas, bedankt voor je reactie. Ik ben bezig met php en mysql. Ik heb geen idee hoe ik met php, htacces kan vullen.
Groet.
 
Jan R

Jan R

15/11/2020 09:16:37
Quote Anchor link
Ook zonder database moet het kunnen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
    $extraLogins
= array(
        array(
            'pw'=>'***',
            'contacts'=>array(
                'paul@xxx.com',
                '0123456789'
            ),
            'naam'=>'Paul',
            'id'=>-1,
            'rollen'=>array(VIERHOEK)
        ),

        array(
            'pw'=>'guest',
            'contacts'=>array(
                'guest@guest.com'
            ),
            'naam'=>'guest',
            'id'=>-2,
            'rollen'=>array(TOERNOOIEN)
        )
    );

//kleine controle of de id's goed zijn.
    foreach($extraLogins as $login) {
        if(!isset($login['id'], $login['naam'], $login['pw'], $login['contacts'], $login['rollen']) || $login['id']>=0 && is_array($login['contacts']) && is_array($login['rollen'])) {
            die('<h1>Er zijn fouten in de extra logins</h1>');
        }
    }

    
    $bfound=false;
    foreach($extraLogins as $login) {
        if($login['pw']==$_POST['pw'] && in_array($_POST['name'], $login['contacts'])) {
            if(in_array(functiecode(), $login['rollen'])) {
                $_SESSION['id'] = $login['id'];
                $_SESSION['naam'] = $login['naam'];
                $_SESSION['email'] = $login['contacts'];
                $_SESSION['rollen'] = $login['rollen'];
                $_SESSION['check'] = md5(date('d-m-Y'));
                header('location:logedin.php');
                exit;
            }
        }
    }

?>


Zo doe ik het voor werken zonder database of zelfs gedeeltelijk db en deel zonder. De rollen zijn waar mag men wel of niet inloggen.

Jan
 
- Ariën -
Beheerder

- Ariën -

15/11/2020 09:23:45
Quote Anchor link
Rollen zou ik niet in een sessie opslaan.
Als je die voor iemand aan past dan moet diegene eerst zijn sessie trashen. Ook de naam en mailadres hebben geen meerwaarde in een sessie. Die kan je prima uit de database halen.

Verder kan je ook session_regenerate_id() toepassen na het inloggen. Dat voorkomt dat iemand van te voren je sessieID al op slinkse wijze kan stelen (session fixation) en past de SessieID aan.

Verder kan je zo'n inlog ook gebruik laten maken van HTTP Authenticatie om hetzelfde gevoel te krijgen als eerst.

https://www.php.net/manual/en/features.http-auth.php
Gewijzigd op 15/11/2020 09:25:55 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

15/11/2020 13:17:21
Quote Anchor link
- Ariën - op 15/11/2020 09:23:45:
op slinkse wijze kan stelen (session fixation)

Ik denk dat je session hijacking bedoelt, wat mogelijk (mede) in staat gesteld wordt door session fixation?
Gewijzigd op 16/11/2020 16:58:32 door Thomas van den Heuvel
 
E Ander

E Ander

16/11/2020 10:39:05
Quote Anchor link
Jan R,Ari"en enThomas, jullie hebben me weer op pad geholpen. Ik ga dit zo ff uitproberen.
Alvast bedankt. Ik laat nog weten of het me gelukt is.
 
E Ander

E Ander

18/11/2020 17:23:20
Quote Anchor link
Jan R, als ik voor Renë in de met HTaccess beveiligde map administratie een account aanmaak met Rene ww 'ietsdergelijks' dan zou het theoretisch alleen de ë in Renë moeten omzetten in een e. Daarna moet ik inloggen in HTacces en de map administratie.

Jouw verhaal lijkt me een andere manier van een map beveiligen met PHP. Wellicht beter maar voor mij op dit moment lastig omdat ik dan veel tekst moet wijzigen in bestaande scripts.

Ik zoek nu dus een mogelijkheid om met php in te loggen bij HTacces.
 
- Ariën -
Beheerder

- Ariën -

18/11/2020 19:07:08
Quote Anchor link
.htaccess heeft niks met PHP te maken.
Maar de bekende inlog-vensters zijn gewoon een onderdeel van de webservers. Zie mijn post hierboven.
 
Thomas van den Heuvel

Thomas van den Heuvel

18/11/2020 22:21:30
Quote Anchor link
Je zou het .htaccess bestand mogelijk zelfs (inhoudelijk) kunnen beheren via PHP, maar als je dat dan toch aan het doen bent kun je net zo goed een database gebruiken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.