Avatar billede mac10 Nybegynder
29. september 2008 - 12:40 Der er 16 kommentarer og
1 løsning

sleep() timer på website?

Hej

Jeg vil gerne have sat en timer på efter et login. Ligesom mange andre sider, hvor du kommer hen til en side når du er logget ind hvor der står:

"Logger ind, vent venligst eller klik her for at komme direkte til din profil"

Jeg har læst lidt på sleep() funktionen, men den virker ikke som jeg vil have det. Når jeg sætter en sleep() på den side som jeg vil have til at vente et par sek, så venter den bare med at hente den side.

Har leget med header() og andre funktioner til at først at sleep nogle sekunder og så gå hen til en anden side, nogen der har nogle forslag udover meta_refresh?

På forhånd tak
Avatar billede big_ossi Nybegynder
29. september 2008 - 13:06 #1
kan du ikke gøre sådan her

<?php

// current time
echo"Logger ind, vent venligst eller klik her for at komme direkte til din profi";

// sleep for 10 seconds
sleep(10);

// wake up !
echo"du er nu logget på";

?>
Avatar billede schwarz84 Nybegynder
29. september 2008 - 14:13 #2
Effekten af at den bare venter kommer fordi de fleste browsere først begynder at rendere når de har modtaget mindst 512 bytes data. Sæt en HTML kommentar ind øverst i din body, så skulle der ske noget.

Hvorfor skal folk dog i øvrigt vente på at logge ind? Det vil man vel helst have sker så hurtigt som muligt?
Avatar billede j4k0b Nybegynder
29. september 2008 - 14:20 #3
schwarz84 > Jeg giver dig ret, hvorfor skal man vente?

Google Mail har en loadbar når du logger ind, men det sker vha. Javascript og ajax kald, da browseren kun indlæser Gmail én gang. Alt derefter hentes vha. asynkrone kald til serveren via javascript.
Avatar billede jakobdo Ekspert
29. september 2008 - 14:24 #4
Jeg tror nu mere der er tale om META REFRESH tags.

http://www.pageresource.com/html/refex1.htm
Avatar billede olebole Juniormester
29. september 2008 - 14:26 #5
<ole>

Jamen, brugeren _skal_ da vente et sekundstid på login! På den måde vanskelliggør man bruteforce-angreb - og det er et overordentlig udbredt 'trick'. Den, der er allermest interesseret i at komme ind så hurtigt som muligt, er hackeren - for han skal teste måske 100.000 passwords  ;o)

Læg _altid_ et delay på et sekund eller deromkring ved login  ;o)

/mvh
</bole>
Avatar billede jantzen88 Nybegynder
29. september 2008 - 14:27 #6
Du kan vælge at gøre det med php eller med META Refresh
<?php header('Location: http://www.dinside.dk/'); ?>
Avatar billede schwarz84 Nybegynder
29. september 2008 - 14:43 #7
olebole: Jeg bruger altid det trick at se på rækker af login-forsøg i en tidsperiode. Første forsøg lader man så brugeren venter 0 ms, næste 1 ms næste 2 ms og så 4, 8, 16 osv ms. På den måde generer man ikke almindelige brugere med venteskærme og man undgår brute-force angreb (efter 15-20 loginforsøg, så er den samlede ventetid langt størst med denne teknik). At lade alle vente 1 sekund er træls for almindelige brugere og en noget uelegant løsning...

j4k0b: Loadbaren i gmail er lige så meget fordi man skal vente på at browseren loader 500 KB javascript. Især i dårlige browsere tager dette nok tid til at en loadbar er på sin plads...
Avatar billede jakobdo Ekspert
29. september 2008 - 14:51 #8
OFFTOPIC: schwarz84: Hvordan styrer du forsøg 1, 2, 3 osv... ?
Avatar billede olebole Juniormester
29. september 2008 - 15:00 #9
Jamen, så kræver det jo, du kan genkende brugeren, som værende samme bruger. Hvormange bruteforce angreb har du været ude for? Tro mig: Det er ikke nok  ;o)

Hvorfor skulle GMail dog vente på et JavaScript? Dén professionelle koder, der kunne finde på at løse den slags problemer ved usikker timing, er næppe født endnu. Er der den slags problemer, lægges naturligvis et funktionskald sidst i JavaScriptet, så der ikke er tvivl om, hvornår hele scriptet med sikkerhed er loaded
Avatar billede schwarz84 Nybegynder
29. september 2008 - 15:04 #10
jokobdo: Gem for eksempel et heltal (kald det n) pr. klient (typisk IP-adresse), tæl det op for hvert forsøg og tæl det (og alle andre) ned med et fast tidsinterval (for eksempel hvert femte minut). Når klienten sender et loginforsøg så lader du ham vente 2^n ms og herefter tæller du tallet op og udfører loginforsøget. Ganske simpelt...
Avatar billede schwarz84 Nybegynder
29. september 2008 - 15:06 #11
Olebole: Hvis folk har et stort botnet med mange IP-adresse så virker ingen af vores to idéer alligevel...
Avatar billede mac10 Nybegynder
29. september 2008 - 15:14 #12
schwarz84
De fleste hackere skifter højst sandsynligt deres IP adresse konstant, hvis de laver et bruteforce-angreb.

Jeg vil holde mig til meta-refresh. Er ved at få hovedpine af ajax/javascript og prøver at holde mig lidt fra det selvom man med jQuery kan sætte x antal sek. ligesom sleep.

Troede bare jeg kunne benytte sleep() men den har åbenbart ikke den effekt jeg havde håbet på.

Tak for de kreative forslag allesammen, men jeg holder mig til meta-refresh.

Smid venligst et svar jer der har bidraget med indlæg.
Avatar billede schwarz84 Nybegynder
29. september 2008 - 15:22 #13
mac10: Dét jeg prøver på at sige er at idéen med at vente et sekund ikke hjælper mod en hacker der kan sende samtidige 1000 requests i sekundet. Det kan han ovenikøbet gøre fra samme maskine.
Man skifter altså ikke bare en IP-adresse, det kræver som udgangspunkt flere maskiner at angribe effektivt fra flere IP'er.

Ingen point til mig, jeg svarede ikke som sådan på dit spørgsmål... :-)
Avatar billede olebole Juniormester
29. september 2008 - 16:03 #14
mac10 >> jQuery er efter min mening generelt noget skidt - og dens delay kan du i hvertfald ikke bruge til noget i denne forbindelse. Alle JavaScripts kan med stor lethed omgås.

schwarz84 >> Lad os i det mindste blive enige om, vi er uenige  =)
Avatar billede mac10 Nybegynder
29. september 2008 - 16:44 #15
schwarz84
Ja generelt er det jo ikke muligt at stoppe en hacker, nu tænker jeg på ham den 15-årige, eller hvor gammel han nu var, der hackede sig ind hos pentagon da han "legede".

Men det er betryggende at vide at min sikre system ikke bliver sikkert :)

Og du må meget gerne lægge et svar, for idéen for mig med at benytte forumet er ikke at få svar hver gang, men også blive lidt klogere nogle gange :o)

olebole
Ja, ved at man enten skal holde sig fra framework eller lave hele hjemmesider i ét framework, og nu har jeg læst list om mootools, jQuery og alle de frameworks, og så lige at det var let tilgængeligt med jQuery.

Jeg holder mig til meta-refresh løsningen og håber på at hackerne går efter bankerne, politiet og alle de andre der har lidt bedre informationer at få fingrene i end mit system :o)
Avatar billede mac10 Nybegynder
10. november 2010 - 12:26 #16
luk
Avatar billede mac10 Nybegynder
10. november 2010 - 12:26 #17
luk
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