Gå til innhold

Redirect bruker basert på br.navn med htaccess/php


Anbefalte innlegg

Jeg har prøvd å prøvd å finne et script som kan sende en brukere videre til sin side ved å redirecte brukeren basert på brukernavn, men det er håpløst.

 

Har testet dette scriptet som skal legges inn i en .shtml fil.

<!--#if expr="$REMOTE_USER = 'user1'" -->

<META HTTP-EQUIV="Refresh" CONTENT="1; URL=user1/page.shtml">

<!--#elif expr="$REMOTE_USER = 'user2'" -->

<META HTTP-EQUIV="Refresh" CONTENT="1; URL=user2/page.shtml">

<!--#else -->

<META HTTP-EQUIV="Refresh" CONTENT="1; URL=denied.shtml">

<!--#endif -->

Men jeg kan ikke få dette til å fungere som det skal, begge brukerene blir sendt til user1.

 

Må vel være noen som kan dette, burde vel kunne lages et slik script i php eller no. Eller finnes en ok guide på nettet som forklarer hvordan man gjør dette.

 

Se her for mer info om hva jeg mener.

Endret av bazzo
Lenke til kommentar
Videoannonse
Annonse

hmm, kansje jeg bør lære meg php.

 

Her er det jeg har til nå..

 

index.php fil som ligger i samme mappe som .htaccess fil.

<?php

if ($var == "bruker1") {

 

Header("Location: http://www.domene.no/htaccess/bruker1");

 

} elseif ($var == "bruker2") {

 

Header("Location: http://www.domene.no/htaccess/bruker2");

 

} else {

Header("Location: http://www.domene.no");

}

?>

 

.htaccess fil som ligger i samme mappe som index.php scriptet over.

AuthUserFile /home/www/n/domene.no/vhosts/www/htdocs/htaccess/.htpasswd

AuthGroupFile /dev/null

AuthName "Beskyttet området"

AuthType Basic

 

require valid-user

Lenke til kommentar

hvordan logger du deg inn?

 

går ut fra du bruker php... er ikke no go på å kombinere htaccess og php, synes du skal gå for enten det ene eller det andre, om mulig. du redirectes på grunnlag av det som står i $var, og i eksempelet står det "bruker1", derfor blir du redirecta til bruker1. $var må inneholde brukernavnet du logget deg inn med :)

Lenke til kommentar

Tror noen har missforstått noe her :p

er ikke sikker men jeg tror ikke PHP scriptet kan ta imot input til .htaccess

Du bør lage et script til å logge inn isteden. Her er et enkelt eksempel:

 

<?php

if ( $_POST )
{
 if ( $_POST['brukernavn'] == "bruker1" )
 {
   Header("Location: http://www.domene.no/htaccess/bruker1");
 }
 else if ( $_POST['brukernavn'] == "bruker2" )
 {
   Header("Location: http://www.domene.no/htaccess/bruker2");
 }
 else
 {
   Header("Location: http://www.domene.no");
 }
}

?>

<form method="post" action="">
Brukernavn: <input type="text" name="brukernavn"><br>
<input type="submit" name="submit">
</form>

 

Håper dette hjelper...

Endret av ProXymus
Lenke til kommentar
Tror noen har missforstått noe her :p

er ikke sikker men jeg tror ikke PHP scriptet kan ta imot input til .htaccess

Du bør lage et script til å logge inn isteden. Her er et enkelt eksempel:

 

<?php

if ( $_POST )
{
 if ( $_POST['brukernavn'] == "bruker1" )
 {
   Header("Location: http://www.domene.no/htaccess/bruker1");
 }
 else if ( $_POST['brukernavn'] == "bruker2" )
 {
   Header("Location: http://www.domene.no/htaccess/bruker2");
 }
 else
 {
   Header("Location: http://www.domene.no");
 }
}

?>

<form method="post" action="">
Brukernavn: <input type="text" name="brukernavn"><br>
<input type="submit" name="submit">
</form>

 

Håper dette hjelper...

OK. dette fungerte forsovidt greit...

 

Jeg la login.php under "www.domene.no" sammen med en fil som heter "login.htm" der jeg logger inn fra.

<form method="post" action="login.php">

Brukernavn: <input type="text" name="brukernavn"><br>

Passord: <input type="text" name="passord"><br>

<input type="submit" name="submit">

</form>

 

Men når jeg klikker submit kommer htaccess login vindu opp og jeg må skrive inn brukernavn og passord på nytt, og så blir jeg sendt til rett side.

 

What to do ? :wallbash:

Lenke til kommentar
fjern .htaccess

PHP funker perfekt uten .htaccess til det du tenker på :)

 

men OBS:

du kommer sikkert til å trenge passord i php scriptet og...

ok, hvordan gjør jeg det ? må jeg ikke bruke SQL da ?

Lenke til kommentar

Nei, du kan lagre passorda i php fila. Enten som ren tekst, eller scramble det ved hjelp av md5() funksjonen eller lignende, slik at hvis noen får tak i fila, så er det til ingen nytte.

Skal prøve definere litt tydligere. MERK dette er en måte å gjøre det på uten database:

<?php
$bruker = "bruker1";
$statisk_ikke_scrambla_passord = "hemmelig";
$motatt_passord = $_POST['passord'];
/*Nå kan du sammenligne, men det hadde vært bedre å forhånds scrambla passordet med md5 algoritmen.*/
/*"hemmelig" blir "fb1d58de99be0ab633626f4e68f7129d" etter å bli kjørt gjennom md5*/
/*Sjekk på den i steden, slik:*/
$bruker = "bruker1";
$scrambla_passord = "fb1d58de99be0ab633626f4e68f7129d";
$motatt_passord = md5($_POST['passord']);
/*Test igjen hvilken bruker det er..*/

 

 

Sorry, dette ble dårlig og rotete, men håper du skjønner hva jeg mener..

Endret av phanti
Lenke til kommentar
Nei, du kan lagre passorda i php fila. Enten som ren tekst, eller scramble det ved hjelp av md5() funksjonen eller lignende, slik at hvis noen får tak i fila, så er det til ingen nytte.

Skal prøve definere litt tydligere. MERK dette er en måte å gjøre det på uten database:

<?php
$bruker = "bruker1";
$statisk_ikke_scrambla_passord = "hemmelig";
$motatt_passord = $_POST['passord'];
/*Nå kan du sammenligne, men det hadde vært bedre å forhånds scrambla passordet med md5 algoritmen.*/
/*"hemmelig" blir "fb1d58de99be0ab633626f4e68f7129d" etter å bli kjørt gjennom md5*/
/*Sjekk på den i steden, slik:*/
$bruker = "bruker1";
$scrambla_passord = "fb1d58de99be0ab633626f4e68f7129d";
$motatt_passord = md5($_POST['passord']);
/*Test igjen hvilken bruker det er..*/

 

 

Sorry, dette ble dårlig og rotete, men håper du skjønner hva jeg mener..

men da kan vel hvem som helst skrive inn hele url til siden som bruker blir sendt til og alikevel komme inn uten brukernavn og passord.

Stemmer ikke det, eller er jeg helt på jordet nå ?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...