License key #12> forward php #12script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Patrick B

Patrick B

04/03/2014 09:30:48
Quote Anchor link
Goedemorgen

Ik heb een form waar mijn gebruikers een key kunnen invullen dat werkt als een url.

[Data]
Key = ABCD1234
Url = http://website.com/ABCD1234

[Form]
Key : [__ABCD1234__]
(Enter) > Redirect premium page

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
if(!empty($_POST['key'])) {
           echo header("Location: http://website.com/'. $_POST['key'] . '");
            } else {
           echo "invalid key"';
        }


Ik weet helaas ook nog niet helemaal hoe ik dit het beste kan aanpakken.
Want op deze manier kunnen gebruikers ook direct naar http://website.com/ABCD1234
Is het mogelijk om de link te encrypten ?

Bedankt voor het lezen!
Gewijzigd op 04/03/2014 13:18:23 door Patrick B
 
PHP hulp

PHP hulp

16/01/2022 11:34:55
 
Ozzie PHP

Ozzie PHP

04/03/2014 11:09:57
Quote Anchor link
Ik denk dat je je gedachte even moet herzien.

Je hebt een URL, http://website.com/beveiligd

Iedereen kan de beveiligde URL oproepen, maar als je de inhoud wilt zien moet je de juiste key intypen.
 
Patrick B

Patrick B

04/03/2014 11:26:30
Quote Anchor link
Ik heb een php script voor elke klant
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
http://website.com/klanten/klant01/script.php
http://website.com/klanten/klant02/script.php
http://website.com/klanten/klant03/script.php


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
http://website.com/beveiligd
License Key > klant01


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
http://website.com/beveiligd
< http://website.com/klanten/klant01/script.php >


Zou dit werken ?
 
Kenneth Rozendaal

Kenneth Rozendaal

04/03/2014 11:33:17
Quote Anchor link
Door de link alleen kun je zover ik weet niks volledig encrypten, je zou wel de key door een sha1 hash kunnen halen, maar alsnog zal iedereen met de key de pagina kunnen bezoeken.

Ik denk dat je beter met sessies kunt werken en gewoon een simpele check doen op iedere pagina of er daadwerkelijk door de klant is ingelogd.

MvG,
Kenneth
 
Patrick B

Patrick B

04/03/2014 11:49:19
Quote Anchor link
Het hoeft niet encrypt te worden, het idee is om de juiste script te laten zien bij de license key.
 
Ozzie PHP

Ozzie PHP

04/03/2014 11:50:45
Quote Anchor link
>> Ik heb een php script voor elke klant

Heeft iedere klant een compleet ander script, of is alleen de inhoud verschillend?
 
Patrick B

Patrick B

04/03/2014 12:10:12
Quote Anchor link
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
<?php
$file
= '/klanten/klant01.ini';
    
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    
    $data = '';
    foreach($_POST AS $name=>$value) {
        $data .= $name . '=' . $value .PHP_EOL;
    }


    file_put_contents($file, $data, LOCK_EX);
    if(file_exists($file)) {
        echo 'Saved in <a href="' . $file . '">' . $file . '</a>';
    }
else {
        echo 'Failed';
    }
}


if(file_exists($file)) {
    $ini = parse_ini_file($file);
}

?>

<form method="POST">

<label>IP</label>
<input type="numbers" name="ip" value="<?php echo (isset($ini['ip']) ? $ini['ip'] : '127.0.0.1'); ?>" /><br />

<label>Gebruikers</label>
<input type="number" name="gebruikers" value="<?php echo (isset($ini['gebruikers']) ? $ini['gebruikers'] : '10'); ?>" /><br />

<label>Website</label>
<input type="text" name="website" value="<?php echo (isset($ini['website']) ? $ini['website'] : 'http://'); ?>" /><br />

<button>Start</button>
</form>

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
<?php
$file
= '/klanten/klant02.ini';
    
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    
    $data = '';
    foreach($_POST AS $name=>$value) {
        $data .= $name . '=' . $value .PHP_EOL;
    }


    file_put_contents($file, $data, LOCK_EX);
    if(file_exists($file)) {
        echo 'Saved in <a href="' . $file . '">' . $file . '</a>';
    }
else {
        echo 'Failed';
    }
}


if(file_exists($file)) {
    $ini = parse_ini_file($file);
}

?>

<form method="POST">

<label>IP</label>
<input type="numbers" name="ip" value="<?php echo (isset($ini['ip']) ? $ini['ip'] : '127.0.0.1'); ?>" /><br />

<label>Gebruikers</label>
<input type="number" name="gebruikers" value="<?php echo (isset($ini['gebruikers']) ? $ini['gebruikers'] : '10'); ?>" /><br />

<label>Website</label>
<input type="text" name="website" value="<?php echo (isset($ini['website']) ? $ini['website'] : 'http://'); ?>" /><br />

<button>Start</button>
</form>


Etc, bij verschillende klanten wat meer forms, echos of max numbers

PS : .ini files zijn beveiligd in the .htacces, alleen ik (mijn ip) kan ze zien.
Veder zit deze script in een module van joomla dus niemand het script zien.
Het zou dus mooi zijn als je met een key (folder adres) de juiste script kan laden ( include )
Gewijzigd op 04/03/2014 12:16:00 door Patrick B
 
Ozzie PHP

Ozzie PHP

04/03/2014 12:22:36
Quote Anchor link
Ik zie nu dus 2x hetzelfde bestand. Een van de principes van goed programmeren, is dat je geen dubbele code gebruikt. Je moet weer je gedachtengang even proberen aan te passen.

Je gaat niet met 100 bestanden voor 100 klanten werken, maar je gaat met 1 bestand voor 100 klanten werken. Aan het bestand geef je door om welke klant het gaat.

www.mijnsite.com/klant/jansen
www.mijnsite.com/klant/pietersen
enz.

Aan de hand van de URL wordt de juiste informatie ingeladen.

Ik weet niet of je serieus bezig bent met programmeren, of er serieus mee bezig wilt gaan? Zo ja, dan zou ik je willen adviseren om eerst wat meer basiskennis over programmeren op te doen. Wellicht is programmeren volgens het OOP principe voor jou een goede keuze, maar dat hangt dus af van je intenties.
 
Ivo P

Ivo P

04/03/2014 12:54:34
Quote Anchor link
waarom trouwens 404 in je topic titel?

Gaat dat over http status code 404? Dat zou Not Found zijn

http://nl.wikipedia.org/wiki/Lijst_van_HTTP-statuscodes
401 of evt 402 lijkt me meer op zijn plaats
 
Patrick B

Patrick B

04/03/2014 13:25:09
Quote Anchor link
Ozzie PHP op 04/03/2014 12:22:36:
Ik zie nu dus 2x hetzelfde bestand. Een van de principes van goed programmeren, is dat je geen dubbele code gebruikt. Je moet weer je gedachtengang even proberen aan te passen.

Je gaat niet met 100 bestanden voor 100 klanten werken, maar je gaat met 1 bestand voor 100 klanten werken. Aan het bestand geef je door om welke klant het gaat.

www.mijnsite.com/klant/jansen
www.mijnsite.com/klant/pietersen
enz.

Aan de hand van de URL wordt de juiste informatie ingeladen.

Ik weet niet of je serieus bezig bent met programmeren, of er serieus mee bezig wilt gaan? Zo ja, dan zou ik je willen adviseren om eerst wat meer basiskennis over programmeren op te doen. Wellicht is programmeren volgens het OOP principe voor jou een goede keuze, maar dat hangt dus af van je intenties.


Helemaal mee eens, maar het gaat helaas maar om 9 klanten, en in de toekomst gaan we hier zeker aan werken.
Ik heb nu een deadline en ik wil het toch met 9 bestanden doen.

Heeft iemand een link met informatie of voorbeeld hoe ik dit zou kunnen verwerken?
 
Ozzie PHP

Ozzie PHP

04/03/2014 13:37:38
Quote Anchor link
>> Ik heb nu een deadline en ik wil het toch met 9 bestanden doen.

www.mijnsite.com/login.php?klant=jansen

Je gebruikt één bestand (dat van hierboven) en je noemt het "login.php".

Eerste regel verander je in:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$file
= '/klanten/' . $_GET['klant'] . '.ini;
?>

Het .ini bestand voor klant "jansen" noem je nu "jansen.ini".

Dit is alvast een start zou ik zeggen. Kijk maar eens of je er iets mee kan.
 



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.