Avatar billede tuidoi Nybegynder
06. marts 2008 - 19:55 Der er 16 kommentarer og
1 løsning

PHP inputbox? og lede hen til tilfældig side bagefter.

Hej
min overskrift lyder måske lidt kryptisk, men nu vil jeg forklare det nærmere.

Det jeg i virkeligheden behøver er når man går ind under en side på min hjemmeside, så skal man fra denne sidde blive sendt videre til en totalt tilfældig anden side på hjemmesiden. hvor man så skal skrive sit computer id ind, når man så har gjort dette og trykket ok skal man blive sendt videre til en anden side som så har generet et password ud fra dette computer id og viser det på skærmen.

Disse sider skal så slettes igen, så brugeren ikke bare kan kopiere f.eks. http://hej.dk og gå ind på den igen. brugeren må heller ikke kunne trykke tilbage i browseren så han kommer til bage på siden før efter at have fået sin kode.

Håber i forstår hvad jeg mener.

ellers må i meget gerne spørge.

Mvh Tui
Avatar billede kjeldsted Novice
06. marts 2008 - 20:18 #1
Hvad mener du når du siger helt tilfældig side...? Så man bare bliver sendt over til én af de sider der ligger på serveren uden undtagelser?
Avatar billede tuidoi Nybegynder
06. marts 2008 - 20:35 #2
Jeg ved ikk helt hvordan man gør det i php eller om det er muligt men f.eks. i autoit kan man skrive:

$x = random(1,10)  ;hvor den så genererer et tilfældigt tal mellem 1 og 10

på samme måde tænkte jeg på om det var muligt at genererer en tilfældig side som slettede sig selv igen sådan at brugeren ikke kunne komme ind på samme side igen bagefter og lave en kode ud fra et andet computer id.

så først laver den f.eks.
http://www.eksperten.dk/spm/822617
og bagefter sletter den så denne og næste gang man kommer på siden kunne den sende en videre til:
http://www.eksperten.dk/spm/999999 osv osv
Avatar billede kjeldsted Novice
06. marts 2008 - 20:40 #3
Jeg har ret svært ved at se hvad det dog skal bruges til? Jeg er ret sikker på der findes lettere løsninger. Men ovenstående er muligt.

Men hvad det helt præcist du skal have ud af dette?
Avatar billede kjeldsted Novice
06. marts 2008 - 20:52 #4
function randomkeys($length)
            {
              $pattern = "0123456789";
              $key = "";
              for($i=0;$i<$length;$i++)
              {
              if(isset($key))
                $key .= $pattern{rand(0,9)};
              else
                $key = $pattern{rand(0,9)};
              }
              return $key;
            }

Ovenstående er en funktion til at lave tilfældige tal. Hvis man fx. nu skriver
$var=randomkeys(27);
får din variabel en værdig bestående af 27 cifre fra 0-9.
Avatar billede tuidoi Nybegynder
06. marts 2008 - 21:20 #5
Der findes måske lettere løsninger så her kommer det jeg skal bruge det til:

Når folk betaler på paypal sender den dem tilbage til en side som jeg vælger herfra skal kunden indtaste sit ComputerID som jeg har genereret udfra mit eget program..
Udfra dette computerID skal php siden så kunne generere en "cd-key" som kunden så kan taste ind i programmet og åbne det.
Men det er vigtigt at kunden ikke bare kan bruge samme side idet at det så bare vil være en online keygen for alle brugere der har lyst til at bruge programmet.

kunne være lækkert hvis der var en lettere måde at gøre det på hvor kunden ikke bliver smidt fra side til side
Avatar billede kjeldsted Novice
06. marts 2008 - 21:34 #6
Ville man ikke kunne lave én side som brugeren kommer ind på der så fx. hedder www.domæne.dk/mappe/side.php?id=102369741857369458? I stedet for at skulle skrive en fil der hedder "102369741857369458.php".

Dette ville nok gøre det hele en smule mere simpelt. Så kan du jo gemme i en MySQL database om det pågældende ID er brugt før og hvis det er så laver man da bare et nyt id (som man selvfølgelig tjekker igen).

Jeg må dog indrømme at jeg ikke kender til hvordan man laver Paypal betalings sider. Men udfra det du skriver burde denne kunne lade sig gøre.
Avatar billede kjeldsted Novice
06. marts 2008 - 21:40 #7
Hvis man så vil lave flere "key" muligheder kan man så tilføje abcdefghijklmnopqrstu.... Så man får bokstaver fra a-z samt tal fra 0-9.
Avatar billede tuidoi Nybegynder
07. marts 2008 - 09:04 #8
Betalingssiden er ordnet det gøres på paypals side.
Og når man så har betalt bliver man så sendt tilbage til min side. jeg vælger selv hvilken side paypal skal sende kunden tilbage til.

Så det eneste jeg behøver er at kunden så herfra kan indtaste sit computer ID også få genereret en kode.
denne kan jeg også selv finde ud af at lave for har kendskab til variabler gennem AutoIt, men ved ikke hvordan jeg skulle kunne sætte det hele op i php og hvordan jeg skal få det til at blive læst fra en database som du selv nævner.

Brugeren skal jo kunne få sin kode ud fra sit computer ID med det samme, men ønsker ikke at brugeren skal kunne lave 2 koder ud fra 2computerIDs når han nu alligevel er på siden. det var derfor jeg tænkte det kunne være godt hvis det var helt tilfældige sider så kunden aldrig kunne finde den igen.. :)

men  du må meget gerne se om der er en bedre løsning..
Avatar billede kjeldsted Novice
07. marts 2008 - 23:05 #9
Så kan brugeren vel egentlig bare blive sendt til en side hvor man indtaster computerID, hvor der så derefter bliver genereret en kode.

Men den side brugeren bliver sendt til efter PayPal skal vel også være den samme for alle brugere? Og så kan løsningen med side med tilfældigt navn jo egentlig ikke bruges.
Avatar billede tuidoi Nybegynder
08. marts 2008 - 20:03 #10
problemet er at hvis alle brugere bliver sendt til den samme side og at det er den samme side hvergang så kan brugeren jo bare kopiere adressen fra browseren og lave så mange registreringsnøgler som han vil med forskellige bruger id'er også forsvinder ideen jo lidt i at bruge computer id.

Jeg tænkte på om de kunne blive sendt videre til samme side på min hjemmeside fra paypal hvergang og herfra så blive sendt videre til en tilfældig side.
eller på en anden måde..
Avatar billede kjeldsted Novice
08. marts 2008 - 22:40 #11
Nej... Det er jo ikke sikkert. Hvis man i stedet for at ryge ind på fx. ./165845.php ryger ind på ./side.php?id=165845, kan du jo gemme i en MySQL database om 165845 er brugt før. I så fald den er bliver brugeren smidt væk fra siden...
Avatar billede tuidoi Nybegynder
09. marts 2008 - 09:20 #12
ja ok..
Du har tydeligvis meget mere forstand på det end jeg har.. :)
Hvordan laves en sådan side med mySQL database?
Avatar billede kjeldsted Novice
09. marts 2008 - 19:41 #13
Det med MySQL databasen er ganske enkelt bare at skrive et felt i databasen hvor man skriver den kode der er brugt. Når så der skal generes en ny kode skal den så tjekke om den pågældende kode er brugt før. Koden til at indsætte i MySQL ser sådan ud:

$con = mysql_connect("localhost","user","pass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("database", $con);
mysql_query("INSERT INTO tabel (ip, key) VALUES($ip,$key)");

Sådan ville jeg i hvertfald gøre :-)
Avatar billede tuidoi Nybegynder
09. marts 2008 - 20:40 #14
hvad hvis han prøver at komme ind på siden fra en anden computer ?
Avatar billede kjeldsted Novice
10. marts 2008 - 17:58 #15
Det er lige meget. Hvis det er informationer fra en MySQL dabatase i PHP gør det intet. PHP er jo et server programmeringssprog, hvilket vil sige at alle funktioner bliver udført på serveren. Og hvis ID'et er blevet brugt før, så bliver brugeren nægtet adgang.
Avatar billede tuidoi Nybegynder
10. marts 2008 - 21:57 #16
Jamen hvis den tjekker om koden er brugt før.. kan han jo bare indtaste et andet ComputerID også vil den generere en anden kode..
Avatar billede tuidoi Nybegynder
15. april 2008 - 00:19 #17
Jeg genererer nu alle nøglerne manuelt på min egen com, det er ikke en optimal løsning men kunne simpelthen ikke få det andet til at fungere.. ellers mange tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB