Jump to content
php.lv forumi

Delfins

Reģistrētie lietotāji
  • Posts

    3,746
  • Joined

  • Last visited

Posts posted by Delfins

  1. var kads palidzet

    izveidojot jaunu mapi

    $make_dir = ftp_mkdir($conn_id, $id);

    vinai permisions vajag nomainit uz 777

    chmod('/home/www/www.domain.lv/mainisana/images_m/'.$id.'/', 777)

    nedarbojas

    16113[/snapback]

     

    a ko paziņo ? ja mape nepieder tev, tad diezvai izdosies piešķirt tiesības

     

    turklāt ir jāraksta 0777 nevis 777

  2. nu jau kaadu laiku censhos dazhas funkcijas postgresql uzrakstiit, bet bez sekmeem. Vai kaads vareetu uzrakstiit piemeeram funkciju - "update tabula2 set laiks = tabula1.laiks where id = tabula1.id", respektiivi trigeris izsauks sho funkciju on update tabula1.laiks un funkcija sho pashu laiku ierakstiis arii tabula2 laukaa laiks.

    (date, integer)

    16105[/snapback]

     

    ai cik daudz piemēru internetā.

    pat dokumentācijā tas viss ir...

     

     

    CREATE OR REPLACE FUNCTION flights_update_trg_fnc()
     RETURNS "trigger" AS
    $BODY$declare
    begin
      INSERT INTO flights_changes(id,new_destination,old_destination,time)
      VALUES( old.id, new.destination, old.destination, now() );
      RETURN new;
    end;$BODY$
     LANGUAGE 'plpgsql' VOLATILE;
    ALTER FUNCTION flights_update_trg_fnc() OWNER TO some_user;
    
    
    CREATE TRIGGER flights_update_trg
     AFTER UPDATE
     ON flights
     FOR EACH ROW
     EXECUTE PROCEDURE flights_update_trg_fnc();

  3. Paldies par atbildeem ieprieksheejaa manaa topikaa - nodereeja! :)

     

    Vaardu sakot lieta taada, ka man teiksim fails index.php inkluudo failu detailView.php,

    es gribu paarbaudiit ieksh detailView.php vai ssis fails ir inkluudots vai tiiri tikai pats atveerts!

     

    Es kaut kad kaut kur pa miglai atceros, ka redzeeju vienu paarbaudes kodu, kur tajaa pashaa index.php  failaa vienam mainiigam tiek pieskjirts buljons ,piemeeram $VAR = true; un tad ieksh detailView.php to paarbauda. Ja izraadaas, ka tas ir atveerts pa taisno, tad: die("bla, bla"). Bet iisti neatceros un arii nesaprotu kaa to vareetu panaakt!

     

    Dotajaa gadiijumaa register_globals = Off;

    16106[/snapback]

     

    1.) secured failus likt zem direktorijas, kur ielikts .htaccess ar Deny from All (uz php-include tas neattieksies :))

     

    2.) iekš tādiem failiem pārbaudīt, vai URL nav izsaukts tieši ar šo failu (QUESRY_STRING)

     

    3.) pārbaudīt vai tekošais fails nav ar indeksu `0` iekš get_included_files() atgriežamā masīva

    if ( $includedFiles[0]==__FILE__) die('mazafaka');

     

     

    PS: par trešo neesmu pārliecināts, bet uz windows tas strādās... :)

  4. Normaali ir glabaat includojamos failus Arpus WEB direktorijas

    tobish tur kur var piekljuut tikai no locaalaas mashinas :)

    Skripts pats par sevi ir kaa Locals Useris :)

    tobish ja arii kaads tiks pie Web failiem - config failam vinsh klat netiks

    - Ja tiks - tad jau buus pilniibaa uzlauzis visu serveri ..  un tad  vairs nav svariigi kaadaa formaataa tiek glabaatas paroles :(

    16085[/snapback]

     

     

    vienīgais veids, kas pašlaik ienāca prātā enkodēt php failu ar konekcijas funciju + ar statisku stringu

     

    <?php
    
    $dbConn = DBIO::connect( 'useris', 'parole' );
    
    ?>

     

    jākodē būs arī DBIO klases fails.

    vienīgais tad pazūd konfigurācijas fīča

     

    Bet te atkal problēma, hakeris vai admins var pārkompilēt PHP/db ext tā lai funkcija kaut kur dumpo iekšā failā padotos parametrus :)

     

    tā kā, variantu te daudz un neviens nebūs 100% drošs

  5. Paldies delfīnam un visiem.

     

    Pārinstalēju mysql, viss aizgāja.

    Ceru, ka problemzas neatkārtosies...  :)

    16072[/snapback]

     

     

    tev vai nu nav nepareizā direktorija, vai nu `mysql` datubāze sačakarēta bija

    anyway, domāju ka tikt varēja bez pārinstalācijas :) [nav jau windows]

  6. jebkurā gadījumā - paroles ieteicams NEGLABĀT iekš plaintext - labāk tās šifrēt:

     

    function cyph($parole){ return md5(md5($parole).'saltsaltsalt'); }, piemēram.

     

    Tad pievienojot jaunu lietotāju viņa paroli failā/datubāzē ielikt šādi šifrētu, un pie katra ielogošanās mēģinājuma salīdzināt to ar šifrētu paroles lauciņā ievadīto paroli.

     

    Pirms kāda laika tika drūmi 'hakots' eclub.lv - cilvēki brouzēja kaimiņu direktorijas un lasīja un tālāk izmantoja login/pass citu administrācijas sistēmām no failiem.

    Jebkādā pietiekami sarežģitā veidā tās kriptējot varētu tādus gadījumus novērst.

    16080[/snapback]

     

    bet ja tev vajag parole konekcijai pie DB ? kā tu atkodēsi ? (tavs variants ir vienvirziena kriptēšana)

  7. Paroles vajag glabāt tajos pašos .php failos, proti teiksim nevis taisīt config.inc (vai jebkādu citu failu kas netiek pārsēts ar php) un tad to includēt bet config.php un tad ja glabāsi šādā formātā

    <? $parole = 'superduper'; ?> tad no pārlūka atverot config.php nekas izvadīts netiks.

     

    Protams tas nepasargā no tā ka kāds kuram ir pieeja pie servera paroles var aplūkot - taču tas jau ir cita līmeņa drošības jautājums (proti vai vieta/hostings kur .php skripti ir atrodas ir pietiekami droša un serviss profesionāls).

    Taču arī šim ir risinājums - kriptēt jebšu encodēt .php failus. Līdz ar to ja arī kādam izdodas fiziski piekļut failiem, tad tie principā ir neizmantojami.

    Šim gan nepieciešamas papildus instalēt dažus moduļus webserverī.

     

    Populārākie encodētāji varētu būt - Zend Encoder (maksas produkts) http://www.zend.com/store/products/zend-encoder.php un uz servera lai šādus encodētus failus apstrādātu nepieciešams Zend Optimizer kas gan ir bezmaksas http://www.zend.com/store/products/zend-optimizer.php

     

    Tad ir arī IonCube http://www.ioncube.com/

     

    Pilnīgs bezmaksas verķis kas ir reizē arī labs accelerators ir eAccelerator http://eaccelerator.net

    16079[/snapback]

     

    arii encoders nepalīdzēs ...

     

    1. es inkludoju ekodētu config.php

    2. izvadu print_r($GLOBALS);

    3. atrodu mainīgo kas man ir interesants

     

    manuprāt nav nevienas metodes kas pasargātu 100%

  8. aā, ja nu vienīgi...

    16044[/snapback]

     

     

    $m_picture

     

    aizvietot ar

     

    $_FILES['m_picture']['tmp_name']

     

    tur parametraa jaapadod faila __nosaukums__ , a bet viņš padod masīvu :)

  9. viss kas tev ir jāizdara :

     

    C:\>cd usr/local/mysql/bin
    
    C:\usr\local\mysql\bin>mysql.exe -uroot
    Welcome to the MySQL monitor.  Commands end with; or \g.
    Your MySQL connection id is 2 to server version: 4.1.2-alpha-nt
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> use mysql
    Database changed
    mysql> show tables;
    +-----------------+
    | Tables_in_mysql |
    +-----------------+
    | columns_priv    |
    | db              |
    | func            |
    | help_category   |
    | help_keyword    |
    | help_relation   |
    | help_topic      |
    | host            |
    | tables_priv     |
    | user            |
    | user_info       |
    +-----------------+
    11 rows in set (0.00 sec)
    
    mysql>

     

    esn esaprotu, kur nu var tik čakarēties <_<

  10. Nu i oftopiks mazliet panesies... atgiezamies pie muusu auniem :)

    cmd>
    mysql -uroot -p
    use mysql
    show tables

    ja neaizej lidz pedejam posmam, tad mysql ir nepareizi uzlikts

     

    Aizejot uz atbilstošo dir: (C:/Apache2/mysql/bin):

    >mysql dod atbildi

    "welcome to mysql monitor... utt."

    paareejaas komandas (use u.c.) neko nedara - nekaadas reakcijas.

     

    PHP skripti rāda kļūdu:

    No Database Selected

    Vai tad tas nav rakstiits filee "C:\WINDOWS\my.ini"?

    No turienes jau arii man ir citaats:

    datadir=C:/Apache2/mysql/data

     

    Kā es vēl varu mēģināt pielauzt savu kasti darboties?

    16016[/snapback]

     

    kāds vēl `welcome to mysql monitor` ???

    __palaid__ mysql.exe no konsoles !

  11. Hmm, esmu uz php ari iesaaceejs, bet nu savajadzeejaas juusu paliidziibu!

    Taatad, man vajadzeetu scriptinju, kas nolasa no attieciigaas web lapas tabulas shuunas informaaciju, palasot ieprieksheejos topikus, sapratu, ka ar to tagu izvilkshanu un nolasiishanu liidz attieziigam tagam neder, jo lapas saakumdalja tachu arii mainaas, un ne visiem <td> vai u.c. tagiem ir lietots atribuuts name. Neder arii noraadiit vienk. <td><tr> ...<tr> jo taadi varianti lapaa var buut neskaitaami.

    Nav gadiijumaa kaut kas taads, kas vareetu it kaa caur iframe noskrolleet lapu uz vidu vai kkur citur kur apm ir un kopeet to tekstu, kas raadaas tajaa, tipa simuleet peles ieziimeeshanu, vai ko tml.?

    Kaadam ir kaadas idejas? Plz, uzmetiet kaadus scriptu piemeerus, buutiibaa jau vispaar arii nav svariigi vai tas ir php, vai javascripts, vai cita valoda, galvenais, ka rukaatu :)

    16028[/snapback]

     

    vot tieši te slēpjās tā ideja, ja būtu pareizi būvēta lapa (XHTML) tad varētu bez problēmām izdabūt ārā.

     

    bet ja tavai lapai ir kaut kas līdzīgs šim <td class="news_header">...

    tad varētu ar pregiem izvilkt ārā

  12. ūuuu sprintf( 'index%d.htm', $day )

     

    if (!@include_once('index'.date('w').'.htm'))

    include_once 'default.htm';

    15982[/snapback]

     

    tikai vai tas būtu labs stils tā rakstīt iesācējam ?

    Kodam nav jābūt īsam (līdz `nesaprotu`). jābūt smukumam arī :)

  13. hmm, nezināju, ka nevajag atstarpi. uz wina vienmēr lieku atstarpi aiz -u :) aiz -p gan nevar likt atstarpi, to zinu.

    15985[/snapback]

     

    ja esi redzējis C/C++ progu sources linuxiem (winam!?), tad tur bieži vien iekš main()

    tiek izmantots viens un tas pats kods šito opciju iegūšanai

     

    C++

           int c;
           static char optstring[] = "abs:";
           opterr=0;
    
           while ((c=getopt(argc, argv, optstring)) != -1)
           {
                   switch(c)
                   {
                           case 'a':
                                   cout << "Found option a" << endl;
                                   break;
                           case 'b':
                                   cout << "Found option b" << endl;
                                   break;
                           case 's':
                                   cout << "Found option s with an argument of " << optarg << endl;
                                   break;
                           case '?':
                                   cout << "Found an option that was not in optstring" << endl;
                   }
           }

     

    Un man ir tādas aizdomas ka visi OS projekti izmanto šo shēmu un tāpēc jamos daudzreiz vieglāk nodot parametrus (pierastāk) nekā native Windows pergām... ( /nXX /yZZ /FORCE)

  14. hmm, nezināju, ka nevajag atstarpi. uz wina vienmēr lieku atstarpi aiz -u :) aiz -p gan nevar likt atstarpi, to zinu.

    15985[/snapback]

     

    izsecināt nevarēji ? :)

     

    aiz -p labāk neko nelikt, labāk to ievadit ar rociņām... ( -p = Prompt for password )

  15. Sliktais veids:

     

    if ( $diena == 1 )

    {

        include('1diena.html');

    }

    elseif ( $diena == 2 )

    {

        include('2diena.html');

    }

    ...

     

    Labais veids: Visu glabājam datubāzē un, atkarībā no dienas, rādām vajadzīgo.

    15958[/snapback]

     

    nu cmukāk būtu

     

    $day = date('w');
    $file = sprintf( 'index%d.htm', $day );
    if ( file_exists($file) ) {
       include_once( $file );
    } else {
       include_once( 'default.htm' );
    }

  16. Lietoju WinLAMP v3.1. (paku ar Apache, MySQL, PHP)

     

    Problēma ir tāda, ka nevaru piekļūt datiem.

     

    my.ini viss ir rakstīts it kā pareizi:

     

    datadir=C:/Apache2/mysql/data

     

    Dati fiziski tur arī atrodas (atbilstošie folderīši, un viss).

     

    Bet ne phpMyAdmin, ne mani skripti netiek klāt pie datu bāzēm.

    Vai kādam būtu padoms?

    15969[/snapback]

     

     

    cmd>
    mysql -uroot -p
    use mysql
    show tables

     

    ja neaizej lidz pedejam posmam, tad mysql ir nepareizi uzlikts

  17. saskaaros ar taadu probleeminju, respektivi, uzmeistaroju lapu un ar pozicioneshanas palidzibu textu nopozicioneeju, bet nejau tur taa problema- probleema tada, ka uz IE raada kaa vajag, tachu uz Operas, FF raada kaadus 20px aukstaak.... kaa varetu sho te probleminju izlabot? paldies

    15915[/snapback]

     

    uztaisit lai raada Opera un FF, un nelietot IE (lai rādās kā ir)

  18. Kādi ir varianti, lai no php scripta palaistu fona procesu, kas kaut ko darītu atkabinājies no tā scripta kuru useris izsauc (pieņemism, šamais varētu salasīt un updeitot datus smaga reporta `starptabulām`). Prātā nāk spēlēšanās ar exec() un ar `&` meģināt atkabināt kā jebkuru parastu procesu. cron`a izmantošana ar īsti neder, jo gribas, atkabinātos scriptus pielaist tad kad formā tiek kaut kas nospiests un tajā dabūt iekšā kaut ko no sessijā esošajiem datiem. Varbūt ir kaut kādi gatavi scripti šādām vajadzībām vai labāki varianti. Labi būtu ja atkabinātie skripti izpildītos ar zemāku prioritāti, bet pavisam ideāli, ja viņus varētu salikt rindā vienu aiz otra un izpildītu pa vienam no rindas.

     

    thnx jau avansā!

    15887[/snapback]

     

    Mh... var jau ari savu sheduleri taisīt. teksim JOB-us ielikt kā parastus failus iekš foldera, kur iekšā būtu ierakstīta komanda... un tad ar sheduler.php laist jobus.

     

    sheduler.php

    $pidFile = 'sheduler.php.pid';
    $jobDir = '/path/to/jobs';
    
    if ( file_exists($pidFile) ) {
       die( 'already running' );
    }
    
    fwrite( fopen($pidFile,'w'), '1' );
    
    $dh = opendir($jobDir);
    while ( ($file=readdir($dh)) !== false ) {
      // .. check files
      $files[] = $file;
    }
    
    $files = sort( $files );
    
    foreach ( $files AS $file ) {
       exec( $file );
       // Vai
       exec( file_get_contents($jobDir.'/'.$file ) );
    }
    
    unlink( $pidFile );

     

    sheduler.php palaižam tā kā teica `pnp`... bet pirms tam uztaisam job failu

     

    $jobCmd = '/usr/local/php/bin/php /path/to/any/file.php and any arguments';
    $priority = 100;
    $jobFile = $priority.'_php.job';
    fwrite( fopen($jobDir.$jobFile,'w'), $jobCmd );

     

    iisumaa viss... rakstīju bez jebkādām datu pārbaudēm

  19. Palēnām darbojos PHP lauciņā. Vienu lietu neizprotu, un Google šinī jautājumā nav labākais palīgs.

    Kā notiek meklēšana PHP datnēs? Izmantojot parasto Windows Search, esmu novērojis, ka viņš meklē jau apstrādātās datnēs. Bet kā panākt, lai meklētu arī pašus PHP mainīgos?

    15802[/snapback]

     

    "Find in Files" ??

×
×
  • Create New...