Gå til innhold

slacky

Medlemmer
  • Innlegg

    882
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av slacky

  1. Heisann!

     

    Jeg har laget en simpel liten fuksjon som skal hjelpe meg med å hente brukerens alder, ut i fra den gitte summen, f. eks 1970.10.10 (elelr hvordan det nå enn så ut)..

     

    Ble fornøyd med scriptet intill jeg la merke til et problem.

    Scriptet (fuksjonen) baserer seg på en persons dato på daten...

     

    function birthday ($birthday) {
       list($year,$month,$day) = explode("-",$birthday);
       $year_diff  = date("Y") - $year;
       $month_diff = date("m") - $month;
       $day_diff   = date("d") - $day;
       if ($month_diff < 0) $year_diff--;
       elseif (($month_diff==0) && ($day_diff < 0)) $year_diff--;
       return $year_diff;
    }

     

    jeg tenkte "date()" skulle basere seg på "time()"?

  2. Det er helt korrekt det du sier, har selv ikke tenkt på det slik, men er jo en selvfølge! Om da routeren kan fordele load selv.

    Men, det er flere applikasjoner som benytter seg av IP, som også krever multiple koblinger. Disse vil da få problemer, om routeren skal begynne å koble de over på den andre linjen, tenker jeg, om ikke routeren da bare lar være.

     

    Men, om du er en filhøster, så er den nok veldig smart, blir dyrt å føre in veldig mange linjer, men det er vel ikke så dumt. Har vdsl2 linje på 50/20mbit, venter på at ISPen min skal starte med bundling, noe de har verifisert at de skal, da blir det futt (Har servere som bruker hele båndbredden) :)

  3. Nå har ikke jeg kikket så nøye på koden din, men jeg ville heller brukt en function for å legge opp bbkoder.

     

    function bbcode($text) {
    
    $text = preg_replace("#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#sie","'<p><img src=\'\\1'.str_replace(array('.php','?','&','='),'','\\3').'\\4\' style=\'border:0px\'></p>'",$text);
    
    return $text;
    }

    Kan ikke garrantere at denne fungerer. Men, kan ikke tro annet.

     

    Nå henter du bare det du skal hente fra database f. eks slik:

    bbcode($data['din_tabell']);

  4. Etter egen erfaring med flere forskjellige trådløse routere, så må de fleste restartes etter det overstiger rundt 8-12 pcer.. Da blir vi nødt til å restarte manualt. Altså dra ut strømkabelen i ca 30sek.

     

    Har testet en Linksys WRT54GL, da jeg gikk IT på FHS. Den klarte å holde oppe 13-16 PC-er. Blandt de bedre, vi fikk ikke testet begrensningen dens, da vi kjeldent kom over 14 Pc-er.

  5. MikkelRev, det eneste du oppnår med det "scriptet", er kun at du lister fra databasen, sidelengs. Om du så bruker "if'er" for å bestemme om det skal skrives ut noe, så hopper du bare over en rad fra databasen. Om det i det heltatt lar seg gjøre?

     

    Det skal simpelthen ikke følge et møsnter, men hvær enkelt skal hentes ut, og spesifiseres hvor, både i høyde og bredde (td, tr).

     

    ---

     

    Tilbake til sak, så har jeg selv fundert litt på noe slik, men jeg gikk over til en annen løsning. Det lar seg så og si bare gjøre om du har "kanstante verdier" i databasen. Altså, det kommer ikke inn ny info, slik som i et nyhetsystem..

    Da kan du spesifisere hvær enkelt rad:

    $rad1 = mysql_fetch_array(mysql_query("SELECT * FROM `tabell` WHERE en_id='1'"));
    $rad2 = mysql_fetch_array(mysql_query("SELECT * FROM `tabell` WHERE en_id='2'"));
    
    echo "<table><tr>
    <td>".$rad1['username']."</td>
    <td>HEY! w..sup in the hood dawg?</td>
    <td>".$rad2['username']."<td>
    </tr></table>";
    

    ..og slik fortsetter det for hver rad, av de 56 du skal spesifisere :(

     

    Men, har du tenkt å vise noe som konstant øker, så må du hente den site id'en.

    $query = "SELECT * FROM `news` ORDER BY id DESC";
    $result = mysql_query($query);
    $r=mysql_fetch_array($result);
    
    $rows = $r['id'];
    
    $rad1 = mysql_fetch_array(mysql_query("SELECT * FROM `news` WHERE id=$rows -0"));
    $rad2 = mysql_fetch_array(mysql_query("SELECT * FROM `news` WHERE id=$rows -1"));
    $rad3 = mysql_fetch_array(mysql_query("SELECT * FROM `news` WHERE id=$rows -2"));
    
    echo "<table><tr>"; //Har valgt å bruke echo for vær linje: Oversiktelig!
      echo "<td>".$rad1['title']."</td>"; 
      echo "<td>Dette er en tom td</td>"; 
      echo "<td>".$rad2['title']."</td>"; 
      echo "<td>".$rad3['title']."</td>";
    echo "</tr></table>";

    Er dog noen problemer ved å gjøre det slik.. f. eks: hvis du sletter en rad, så vil det vises en td som er helt tom. /Samt du skal spessifisere 56 ruter :E

     

     

    Ellers så kan du teste et script som ikke gir deg friheten, men lister f. eks 4 <td>, dereter dropper ned <tr>, "og gjenter seg"..

     

    $result = mysql_query("SELECT * FROM `tabell` ORDER BY `id` DESC LIMIT 0,56");
    $rows = mysql_num_rows($result);
    if ($rows != 0) {
    $counter = 0; $columns = 8; 
    echo "<table width='800' align='center' cellpadding='0' cellspacing='1' style='font-family:Arial, verdana;font-size:11px;'>\n<tr>\n";
    while ($r = mysql_fetch_assoc($result)) { //evt fetch_array
    	if ($counter != 0 && ($counter % $columns == 0)) echo "</tr>\n<tr>\n";
    	echo "<td valign='top' align='center' width='100'>";
    
    	echo "Her fører du inn det du skulle ønske, f. eks ".$r['user_name']."";
    
    	echo "</td>\n";
    	$counter++;
    }
    echo "</tr>\n</table>\n";
    }
    

  6. Dette blir heller vanskelig å la seg gjøre med scripting (programvare). Det er ingen fuksjon i normal ruter, som deaktiverer nettet. Det som må bli gjort er å lage et script som klusser til WAN-config i routeren, på et vis, og bruker cron til å aktivere et script1 (logge inn, og klusse til konfig om klokken er med en 23.59), og aktivere gjennopretting-scriptet for å tilbakestille om klokken er mer en 05.59.

     

    Tidsperioden er bare eksempel, og ikke vet jeg om det lar seg gjøre. Men, det kan vel tenkes at det er mulig.. Ikke vet jeg hvilket script-språk som egenser seg best, og mine C# ferdigheter er ikke så høye. Kan tenke meg til at det er mulig med php, men det krever en php-server (xampp fow win/lampp for unix etc).

     

    Uansett, så er det generell koding som er tilpasset DIN router, da jeg tviler VELDIG sterkt på at finnes ferdige programmer for dette.

  7. Det er simkortet som verifiserer deg som bruker av nettet. Husker jeg rett, så leverer de MiniRouter, som jeg da tror du kan pakke simkortet i. Da kan du også dele nettet med 4 andre.

     

    Ellers så krever dette at PCen kan ha simkort i. Noen MiniBærbare kan det.

     

     

    Skal du ha "mobilt" brendbånd, og har allerede internett i huset, kan du kjøpe en 120* 16dBi antenne til Routeren din, da skal du trolig kunne sende trådløsen bort i mot 1mil ;D

    Om du ikke har internett, og du bor f. eks på landet, der du ikke kan få vanlig nett, kan du se på NextGenTel sin WiMAX løsning, evt WiFi/MAX fra en annan levrandør :b

  8. Dette er det du trenger:

     

    echo "<META HTTP-EQUIV='Refresh' Content='0; URL=DIN_URL.php'>";

     

    Det blir sagt flere ganger at en ikke skal bruke meta midt i siden, men bare i header. Dette er simpelthen fordi META er laget for å gi ut informasjon om websiden. Men, å bruke meta for å lage en "refresher/vidrefører" på denne måten er IKKE et problem.

  9. Sikkerhet er viktig. Som han over nevner så er det smart å unngå xss angrep, så det som da kan gjøres er at hvær enkelt side bruker "require_once" mot en core fil.

     

    Diverse smarte ting å få med, i en core fil..:)

    // Unngå mulige XSS angrep via $_GET.
    foreach ($_GET as $check_url) {
    if ((eregi("<[^>]*script*\"?[^>]*>", $check_url)) || (eregi("<[^>]*object*\"?[^>]*>", $check_url)) ||
    	(eregi("<[^>]*iframe*\"?[^>]*>", $check_url)) || (eregi("<[^>]*applet*\"?[^>]*>", $check_url)) ||
    	(eregi("<[^>]*meta*\"?[^>]*>", $check_url)) || (eregi("<[^>]*style*\"?[^>]*>", $check_url)) ||
    	(eregi("<[^>]*form*\"?[^>]*>", $check_url)) || (eregi("\([^>]*\"?[^)]*\)", $check_url)) ||
    	(eregi("\"", $check_url))) {
    die ();
    }
    }
    unset($check_url);
    
    //~Ren url~
    function cleanurl($url) {
    $bad_entities = array("&", "\"", "'", '\"', "\'", "<", ">", "(", ")", "*");
    $safe_entities = array("&", "", "", "", "", "", "", "", "", "");
    $url = str_replace($bad_entities, $safe_entities, $url);
    return $url;
    }
    
    function trimlink($text, $length) {
    $dec = array("\"", "'", "\\", '\"', "\'", "<", ">");
    $enc = array(""", "'", "\", """, "'", "<", ">");
    $text = str_replace($enc, $dec, $text);
    if (strlen($text) > $length) $text = substr($text, 0, ($length-3))."..";
    $text = str_replace($dec, $enc, $text);
    return $text;
    }
    

     

    Så, vil jeg annbefale å ha et simpelt gallerisystem med i den lille CMSen. Og muligheter bbkoder, om du ikke planlegger å bruke noe annet, tinymce o.l..

     

    Om du velger å ha et galleriskript, så er denne smart:

    // Skanne bilder for onnskapsfulle koder!
    function verify_image($file) {
    $txt = file_get_contents($file);
    $image_safe = true;
    if (preg_match('#&(quot|lt|gt|nbsp);#i', $txt)) { $image_safe = false; }
    elseif (preg_match("#&\#x([0-9a-f]+);#i", $txt)) { $image_safe = false; }
    elseif (preg_match('#&\#([0-9]+);#i', $txt)) { $image_safe = false; }
    elseif (preg_match("#([a-z]*)=([\`\'\"]*)script:#iU", $txt)) { $image_safe = false; }
    elseif (preg_match("#([a-z]*)=([\`\'\"]*)javascript:#iU", $txt)) { $image_safe = false; }
    elseif (preg_match("#([a-z]*)=([\'\"]*)vbscript:#iU", $txt)) { $image_safe = false; }
    elseif (preg_match("#(<[^>]+)style=([\`\'\"]*).*expression\([^>]*>#iU", $txt)) { $image_safe = false; }
    elseif (preg_match("#(<[^>]+)style=([\`\'\"]*).*behaviour\([^>]*>#iU", $txt)) { $image_safe = false; }
    elseif (preg_match("#</*(applet|link|style|script|iframe|frame|frameset)[^>]*>#i", $txt)) { $image_safe = false; }
    return $image_safe;
    }

     

     

    Diverse bbkoder..:

    function bbcode($text) {
    $text = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>\1</b>', $text);
    
    $text = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>\1</i>', $text);
    $text = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>\1</u>', $text);
    $text = preg_replace('#\[center\](.*?)\[/center\]#si', '<center>\1</center>', $text);
    
    $text = preg_replace('#\[url\]([\r\n]*)(http://|ftp://|https://|ftps://)([^\s\'\";\+]*?)([\r\n]*)\[/url\]#si', '<a href=\'\2\3\' target=\'_blank\'>\2\3</a>', $text);
    $text = preg_replace('#\[url\]([\r\n]*)([^\s\'\";\+]*?)([\r\n]*)\[/url\]#si', '<a href=\'http://\2\' target=\'_blank\'>\2</a>', $text);
    $text = preg_replace('#\[url=([\r\n]*)(http://|ftp://|https://|ftps://)([^\s\'\";\+]*?)\](.*?)([\r\n]*)\[/url\]#si', '<a href=\'\2\3\' target=\'_blank\'>\4</a>', $text);
    $text = preg_replace('#\[url=([\r\n]*)([^\s\'\";\+]*?)\](.*?)([\r\n]*)\[/url\]#si', '<a href=\'http://\2\' target=\'_blank\'>\3</a>', $text);
    
    $text = preg_replace('#\[mail\]([\r\n]*)([^\s\'\";:\+]*?)([\r\n]*)\[/mail\]#si', '<a href=\'mailto:\2\'>\2</a>', $text);
    $text = preg_replace('#\[mail=([\r\n]*)([^\s\'\";:\+]*?)\](.*?)([\r\n]*)\[/mail\]#si', '<a href=\'mailto:\2\'>\3</a>', $text);
    
    $text = preg_replace('#\[small\](.*?)\[/small\]#si', '<span class=\'small\'>\1</span>', $text);
    $text = preg_replace('#\[color=([a-zA-Z]*|\#?[0-9a-fA-F]{6})](.*?)\[/color\]#si', '<span style=\'color:\1\'>\2</span>', $text);
    $text = preg_replace('#\[size=([2-7]{1})](.*?)\[/size\]#si', '<font size=\'\1\'>\2</font>', $text);
    
    $text = preg_replace('#\[flash width=([0-9]*?) height=([0-9]*?)\]([^\s\'\";:\+]*?)(\.swf)\[/flash\]#si', '<object classid=\'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\' codebase=\'http://active.macromedia.com/flash6/cabs/swflash.cab#version=6,0,0,0\' id=\'\3\4\' width=\'\1\' height=\'\2\'><param name=movie value=\'\3\4\'><param name=\'quality\' value=\'high\'><param name=\'bgcolor\' value=\'#ffffff\'><embed src=\'\3\4\' quality=\'high\' bgcolor=\'#ffffff\' width=\'\1\' height=\'\2\' type=\'application/x-shockwave-flash\' pluginspage=\'http://www.macromedia.com/go/getflashplayer\'></embed></object>', $text);
    $text = preg_replace("#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#sie","'<img src=\'\\1'.str_replace(array('.php','?','&','='),'','\\3').'\\4\' style=\'border:0px\'>'",$text);
    
    $qcount = substr_count($text, "[quote]"); $ccount = substr_count($text, "[code]");
    for ($i=0;$i < $qcount;$i++) $text = preg_replace('#\[quote\](.*?)\[/quote\]#si', '<div class=\'quote\'>\1</div>', $text);
    for ($i=0;$i < $ccount;$i++) $text = preg_replace('#\[code\](.*?)\[/code\]#si', '<div class=\'quote\' style=\'width:440px;white-space:nowrap;overflow:auto\'><code style=\'white-space:nowrap\'>\1<br><br><br></code></div>', $text);
    
    $text = descript($text,false);
    
    return $text;
    }

     

     

    Brukernavnet som er lagret i cookien til brukeren, er tilsvarende den fra databasetabellen, så jeg valgte å lage et slikt skript i min core fil.

    //Lager en fuksjon for å fetche brukerinfo fra DB
    session_start();
    require_once "var.php";
      $select_user = "SELECT * FROM `users` WHERE username='$_SESSION[username]'";
      $user = mysql_query($select_user);
      $udata = mysql_fetch_array($user);
    
    // DENNE delen er bare eks på admin versus ikke admin
    define("iGUEST",$udata['user_rank'] == 0 ? 1 : 0);
    define("iUSER", $udata['user_rank'] >= 101 ? 1 : 0);
    define("iBOSS", $udata['user_rank'] >= 102 ? 1 : 0);
    

     

    Kaster meg nå, håper dette var til noe hjelp.. :) Hater selv å starte fra scratch uten hjelp når det må til (: Men, noe sier meg at du gjerne kan dette selv. Men, eyyyYyYY! Nå har jeg gjort det for deg :D

  10. Selve serveren må ha ffmpeg installert, dette er ikke noe som følger med i en standard hosting-pakke. Vet ikke om noen norske hostingfirmaer som har dette, bruker selv en utenlandsk levrandør. Alternatvet til dette kan være dedikert/virtuell server.

     

    Skriptet (om du har tilgang til ffmpeg-hosting)

     

    <?php
    //avi er bare et eksempel. Disse "kodene" gir deg god kvalitet.
    exec('ffmpeg -i DIN_FIL.avi -f flv -s 640x360 -aspect 16:9 r 25 -b 2000k -ar 44100 RESULTAT.flv');
    ?> 

     

    Du kan erstatte -b, med -sameq, filmen vil da beholde orginal video-kvalitet. Men, det kan ta enormt med plass.. (idiotisk når 2000kbps er nok til å streame mennesker med super kvalitet. Skal en øsnke å øke dette, så gir 5000kbps idiotsikker kvalitet. (Men krever over 5mbit linje, for å streame da)

  11. Tja, skulle nå teste denne, men oppdaget fort et problem.. Veldig fort :b

    Forsøker å starte selve programmet, men det jeg da får er en feilmelding:

    "The application failed to initialize properly (0xc0000135)."

     

    Testet med XP Pro Sp3, GeForce 8600GTS.

    Håper på å få teste, om du finner løsningen for dette.

     

     

    Skal teste på det anner OS'et mitt; XP Pro SP2.

  12. Jeg synes det høres genialt ut, å legge opp lokale noder, samt sluttføre med vdsl2.

    Det vil da trolig være flere som får tilgang til hastigheter oppe i 70/40mbit pr. par, eller lignende. Der de fører kraftige fiberkabler fra sentralen (ved hjelp av microgrøfting).

     

    Men, problemet ligger vel i at telenor eier kobberkablene, så det å grave opp kobbern, og koble dem til den lokale noden, vil ikke la seg gjøre. (med mindre telenor sier OK, haha!)

    Samt, så er det fremdeles folk som benytter seg av den gamle analoge tlf.. Dette gir tenken en del motstand.

     

    Men, om noe slik skulle skje, så er det virkelig en smart løsning. De fleste husstander har tross alt 2-4 kabler inn. Dette er nok til å oppnå rundt 250/150mbit. DET er konkurranse for dagens FTTH-løsninger.

     

    Har selv ca 40/14mbit, men klarer beklagligvis å bruke hele opphastigheten nå og da.. (uten å dele masse filer, men i andre ting), linjen er 520M, men har to eldre kobberpar også, de ligger på 690m, klarer ca 30/12mbit på disse :)

  13. I see.. Betaler selv 699,- for 50/20 vdsl2, får ca 40/13mbps. Men, merker at jeg litt fort klarer å kjøre utgående trafikk opp i mot max..

    Du vet ikke tilfeldigvis hva problemet rundt det å bundle a/vDSL linjer er? Hvorfor er det vanskligere å bundle to asynkrone linjer? Comtrend (broadcom) leverer routere for A/Vdsl som gir mulighet for bundling. Men, "sentralen" trenger vel å synkronisere to porter i noden, på noe vis, med samme IP o.l?

  14. Hesann!

     

    Som de fleste her vet, så er det vanligvis 2-4 kobberpar intill et hus. Men, det er få ISP-er som leverer løsning som bundler de linjene man har tilgang til.

     

    Det er pr. idag ca 200.000 personer som har tilgang til vdsl2, som gir mulighet reel for 50/25mbit. Ved å bundle disse så oppnår du en ganske eksakt dobbling av kapasitet. Altså ~100/50. Dette er ganske konkurranse-dyktig med fiber-løsninger. Selvfølgelig finnes problemer som crosstalk, eller begrensning i nodene evt DSLAM. Men, se bort fra det...

     

    Hva er grunnen til at det er få som satser på bundling? Tørr påstå at fiberlegging er dyrere.

     

    Dataguard er en ISP i oslo, som satser på å bundle ADSL2+ linjer..

    Men, kan tenke meg at de som har linjekort for vdsl2 skal kunne ha mye bedre systemer..

     

     

    Hva er det som begrenser en ISP i å lansere bundlet VDSL2 linjer? Er det en mangel på programvare og/eller hardware som gjør det? Noen som kjenner til slik utstyr?

    Eller, hva gjør det vanskelig?

     

    Har vært borti vDSL2 linjer som er bundlet selv.. Der de hadde en reel hastighet på ca 70/50mbps.

    Ellers så hørte jeg om en svensk ISP som bundlet multiple vdsl2 linjer, og oppnådde 500/500mbit!

  15. Må bare notere at det kan bli problemer med Ethernet over "PowerLine" om de er plassert på 2 forskjellige sikringskretser. Det er et kjent og vanlig fenomen.

    Det er heller ikke for uvanlig med pinghopp, det komemr av at det altid er spenninghopp i strømnettet.

     

    Ellers så er teknologien lite utbredt, men er nok en god teknologi. :)

     

     

    Har du trådløsbrikker liggende så kan du også teste med å lage en pringless-antenne. Selv klarte jeg, ved en lettere moddet pringless antenne (plassert på ruteren's antenne) å nå en distanse på ca 500M før hastigheten og SNR falt litt. Men, den er egentlig for tynn, for hvis jeg plasserte meg 6-7m til sides så fikk jeg ikke kontakt lengre.

  16. Det er mulig at han har satt ned signalstyrken. Som nevnt, men kan også være problem med WiFi brikken i pcen. Forsøk med en trådløs usb-dongle, eller få en kompis til å ta med bærbaren å teste. Kan også hende at antennen ikke sitter helt fast på ruteren, eller at det har havnet en gjenstand over den. WiFi er en veldig følsom teknologi.

     

    "Antall signal bars, betyr hastighet. Driver han husverten på å laste ned eller noe, så mister du hastighet siden dere er på samme linje."

    Dette er ikke tilfelle. Hastigheten minker vanligvis ved lavere signalstyrke, dette kommer av at dB-en minker. Men, det er fult mulig å oppnå nesten fulle 54mb/s (G), på trådløsen selv med 2-3 bars. Om det viser seg å være stabilt.

     

    Bare om husverten klarer å maxe den totale kapasiteten av trådløsen (dersom han sitter på den) vil du miste hastighet. Dette krever at husværten har 50mbps+ bredbåndstilkobling. Eller at han deler svære filer i det private nettverket. Men, kjeldent at slik merkes.

     

    Signalstyrken du ser måles i dBi, windows sin måler er ikke så presis at det gjør noe, og setter en "cirka"-utregning på hastighet i forhold til målt dBi.

  17. Nå er det slik som l7dfa skriver, du har ikke tilgang til høyere oppload over den gamle kobbern, du kan dog nå lengre med Coax (kabel-TV nett). Ellers så ligger kansje muligheten inne for WiFi nett. Da er opphastigheten vanligvis mellom 5 og 10mbps.

    Det leveres ikke over alt i norge, og krever 100% fri sikt til senderen, men om du har litt flax, så er det kansje en levrandør som leverer WiFi(n/a) nett deromkring.

×
×
  • Opprett ny...