Gå til innhold

Sugx

Medlemmer
  • Innlegg

    131
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Sugx

  1. Jeg har aldri koda noe i Linux før, har akkurat lagt det inn.

    Så jeg tenkte jeg skulle bli kjent med litt stæsj

    Lagde ett plugin til xchat, eneste problemet er at det ikke vil compilere.

     

    får denne feilmeldingen når jeg kjører "make"

    
    haakon@deb2k:~/progging/c/xchat-xmms-plugin-thingy$ make
    
    gcc -03 -Wall -fPIC DVER_MINOR=1 -DVER_MAJOR=0 -DVER_PATCH=0 -DVER_STRING="0.1.0" -I/usr/include/glib-1.2 -I/usr/lib/glib/include -DUSE_XMMS   -c -o satyr.o satyr.c
    
    gcc: cannot specify -o with -c or -S and multiple compilations
    
    make: *** [satyr.o] Error 1
    
    

     

    make fila ser slik ut

    
    haakon@deb2k:~/progging/c/xchat-xmms-plugin-thingy$ cat Makefile
    
    VER_MAJOR       = 0
    
    VER_MINOR       = 1
    
    VER_PATCH       = 0
    
    CC = gcc
    
    CFLAGS += -03 -Wall -fPIC
    
    CFLAGS += DVER_MINOR=$(VER_MINOR) -DVER_MAJOR=$(VER_MAJOR) -DVER_PATCH=$(VER_PATCH)
    
                    -DVER_STRING="$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH)"
    
    LDFLAGS = $(CFLAGS) -shared
    
    LIBRARY = libsatyr-$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH).so
    
    OBJECTS = satyr.o
    
    
    
    CFLAGS += $(shell glib-config --cflags glib) -DUSE_XMMS
    
    LDFLAGS += $(shell glib-config --libs glib) -lxmms
    
    
    
    ALL : $(LIBRARY)
    
    
    
    $(LIBRARY) : $(OBJECTS)
    
           $(CC) $(LDFLAGS) -o $(LIBRARY) $(OBJECTS)
    
    
    
    satyr.o : satyr.c xchat-plugin.h
    
    
    
    .PHONY : clean
    
    clean :
    
           rm -rf *.o
    
    
    
    .PHONY : install
    
    install : $(LIBRARY)
    
           rm -f ~/.xchat2/satyr*.so
    
           cp ./$(LIBRARY) ~/.xchat2
    
    

     

    programmet ser sånn ut. Har sett på litt kode, og mekka makefila slik jeg trodde det skulle gjøres. men det funka ikke.. og ja xchat-plugin.h ligger i samma mappa som satyr.c, slik det står på xchat sida ;)

    
    #include <stdio.h>
    
    #include <stdlib.h>
    
    #include <string.h>
    
    #include "xchat-plugin.h"
    
    #include <xmms/xmmsctrl.h>
    
    xchat_plugin *ph; // Plugin handle
    
    // XMMS callback
    
    static int xmms_cb  (char *word[], char *word_eol[], void *userdata);
    
    int xchat_plugin_init(xchat_plugin *plugin_handle, char **plugin_name, 
    
                         char **plugin_desc, char **plugin_version, char *arg)
    
    {
    
       ph = plugin_handle;
    
       *plugin_name    = "SatyrPlugin";
    
       *plugin_desc    = "Ett XMMS plugin for XChat av og for folket";
    
       *plugin_version = VER_STRING;
    
       /* Dette blir /kommando i X-Chat */
    
       // Vise den mp3'en som spiller akkurat nuh /xmms
    
       xchat_hook_command(ph, "xmms",  PRI_NORM, xmms_cb,  NULL,NULL);
    
       // Sende den mp3'en som spiller akkurat nå til en kamerat /mp3send <nick>
    
       xchat_hook_command(ph, "mp3send", PRI_NORM, xmms_cb NULL, (void *) 1);
    
       xchat_printf(ph, "Satyr loaded successfull");
    
       return 1;
    
    }
    
    static int xmms_cb ( char *word[], char *word_eol[], void *userdata)
    
    {
    
       char *buffer    = NULL; // holds the information we will announce with
    
       char *file      = NULL; // holds the file information for DCC SEND
    
       if((int)userdata == 1)
    
       {   // vi skal sende fil
    
           file = xmms_remote_get_playlist_file(0, xmms_get_playlist_pos(0));
    
           if(file)
    
           {
    
               // ser ikke ut til å funke spes bra med æøå
    
               xchat_commandf(ph, "dcc send %s "%s"", word[2], file);
    
           }
    
           else
    
           {
    
               xchat_print(ph, "klarte ikke sende fila");
    
           }
    
           
    
       }
    
       else
    
       {   // vi skal skryte av dritet vi speller
    
           buffer = xmms_remote_get_playlist_title(0, xmms_remote_get_playlist_pos(0));
    
           if(buffer)
    
           {
    
               xchat_commandf(ph, "say «[%s]»", buffer);
    
           }
    
           else
    
           {
    
               xchat_print(ph, "Noe skummelt skjedde");
    
           }
    
       }
    
       return EAT_ALL;
    
    }
    
    

  2. Om detta skal funke må jo php vite verdien av strengen i bildet. Derfor må du finne en lur måte å gjøre den tilgjengelig på, en enkel og usikker måte er jo å sende variablen med som en hidden post variabel.

    Grunnen til at det mange steder er sånne bilder, er for å validere om det faktisk er ett menneske som registrerer seg og ikke ett script. Men ett script kan lett finne den skjulte post variablen, derfor er det ikke sikkert.

    Du kunne jo lage det slik at hver gang sida blei lastet satte du teksten i bildet inn i en database og når brukern klikka på submit, blei teksten brukern tasta inn sjekka opp mot databasen. Mye rart en kunne finni på da...

  3. Ja det lar seg fint gjøre, om det bare er du som skal administrere er det like greit å legge alle adminfilene i ei mappe og .htaccess beskytte denne.

     

    Du kan også mekke noe med sessions, hvis du tatster riktig brukernavn/passord blir sessionvariablene satt så på toppen av de filene du skal beskytte sjekker du bare for disse variablene

    if($_SESSION['username'])

    {

    detduskalbeskytte

    }

    else

    {

    Ingen tilgang

    }

    ellernoe

  4. 
    on ^*:hotlink:*//*.*:*:{ }
    
    on *:hotlink:*//*.*:*: http $1
    
    on ^*:hotlink:*www.*:*:{ }
    
    on *:hotlink:*www.*:*: http $1
    
    alias http {
    
     var %site = $remove($1,',",>,<)
    
     var %trailing = ,&.&!&?
    
     run %_Browser $iif($istok(%trailing,$right(%site,1),38),$left(%site,-1),%site)
    
    }
    
    alias -l InternetExplorer if (%IEXPLORE.EXE) return $iif(%_Browser == %IEXPLORE.EXE,$style(1)) Internet Explorer
    
    alias -l Mozilla if (%mozilla.exe) return $iif(%_Browser == %mozilla.exe,$style(1)) Mozilla
    
    alias -l Netscape if (%netscape.exe) return $iif(%_Browser == %netscape.exe,$style(1)) Netscape
    
    alias -l Opera if (%Opera.exe) return $iif(%_Browser == %Opera.exe,$style(1)) Opera
    
    alias -l Phoenix if (%phoenix.exe) return $iif(%_Browser == %phoenix.exe,$style(1)) Phoenix
    
    alias -l Other {
    
     if ((!$istok(%_Browsers,$nopath($remove(%_Browser,")),158)) && ($len(%_Browser))) return $+($style(1),Other)
    
     return Other
    
    }
    
    menu * {
    
     -
    
     SetBrowser
    
     .$InternetExplorer: set %_Browser %IEXPLORE.EXE
    
     .$Mozilla: set %_Browser %mozilla.exe
    
     .$Netscape: set %_Browser %netscape.exe
    
     .$Opera: set %_Browser %Opera.exe
    
     .$Phoenix: set %_Browser %phoenix.exe
    
     .$Other: set %_Browser $+(",$$sfile("C:Program Files*.exe",Pick a completely different browser,Select),")
    
     .-
    
     .Unload: .unload -rs $script
    
    }
    
    on *:UNLOAD: unset %_Browser* %IEXPLORE.EXE %mozilla.exe %netscape.exe %Opera.exe %phoenix.exe
    
    on *:LOAD: set %_browsers IEXPLORE.EXEžmozilla.exežnetscape.exežOpera.exežphoenix.exe | _find.browser 1
    
    alias _find.browser {
    
     var %b
    
     if ($1 == 1) %b = $findfile(C:,IEXPLORE.EXE,0,set %IEXPLORE.EXE $+(",$1-,"))
    
     elseif ($1 == 2) %b = $findfile(C:,mozilla.exe,1,set %mozilla.exe $+(",$1-,"))
    
     elseif ($1 == 3) %b = $findfile(C:,netscape.exe,1,set %netscape.exe $+(",$1-,"))
    
     elseif ($1 == 4) %b = $findfile(C:,Opera.exe,1,set %Opera.exe $+(",$1-,"))
    
     elseif ($1 == 5) {
    
       %b = $findfile(C:,phoenix.exe,1,set %phoenix.exe $+(",$1-,"))
    
       linesep -a
    
       echo $color(info) -ati2 * BrowserSwitch initiliazed
    
       echo $color(info) -ati2 *
    
       echo $color(info) -ati2 *   Right-click in any window
    
       echo $color(info) -ati2 *   Select Set Browser and choose your browser
    
       echo $color(info) -ati2 *
    
       echo $color(info) -ati2 *   Double-clicking a link will run it
    
       echo $color(info) -ati2 *   /http www.mirc.com will also run the link in your selected browser
    
       linesep -a
    
       set %_Browser %IEXPLORE.EXE
    
       halt
    
     }
    
     .timer 1 2 _find.browser $calc($1 + 1)
    
    

     

    bare å slenge i ei fil og loade /load -rs filadi.mrc

    husker ikke hvor jeg fant den...

  5. Da må han være virkelig lat! Tittelen får ikke stor forbokstav og hvis det er en tittel som inneholder 2 eller flere ord, blir det umulig siden den går etter en del av urlen.

     

    Hvis en er lat er det ikke nødvendig.

    Definisjonen av ett ord er vel sånn ca samling bokstaver delt opp med %20 tegnet så hvis en legger til dette i url'en funker det fint med flere ord.

    Tenkte bare jeg skulle nevnet det.

    Det finnes dog enkelte svarte sider med denne typen koding. Hva som skjer hvis du gjør slik kan du se nedenfor...

     

    Proof of conzepth ;)

×
×
  • Opprett ny...