Jump to content
php.lv forumi

Venom

Moderatori
  • Posts

    1,918
  • Joined

  • Last visited

Posts posted by Venom

  1. Varbūt es nepareizi sapratu.

     

    Ja nemaldos, viņam vajag no sākuma ievadīt LDAPa: domain, group, user, pass un novalidēt, vai tas ir pareizs. Šobrīd es to pašu daru ar LDAP validēšanu. The idea was citāda : username un paroli nevajag ievadīt un glabāt (citādi sanāk visādi cookies, sessions etc, kurus var uzlaust, pie tam tie būs jāievada katru reizi ieejot kopējā saitā), bet jūzers tiek automātiski autentificēts no servera puses ja viņš joņojas saitam klāt no mūsu tīkla (respektīvi pēc tam jānolasa tikai NT username). Tāda lieta piem. darbojās ar ASP un IIS uz Win2000 (ir reāls piemērs), bet gribētos savienot ar Linux noname Apache.

     

    Hm, http://modntlm.sourceforge.net/ izskatās apetīdligāk.

  2. Mļāviens, es ar to highlightu arī biju nomocījies.

    Stringi iekš datubāzes tiek dzīti ar htmlspecialchars($str,ENT_QUOTES);

    Uz parādīšanu sākas dancis:

     

    //setting up colors for code highlighting

    $COLORS=array(

    'highlight.comment'=>'#0077ff',

    'highlight.default'=>'#dd4444',

    'highlight.keyword'=>'#4444cc',

    'highlight.string'=>'#00aa55'

    );

    while(list($key,$val)=each($COLORS))

    {

    ini_set($key,$val);

    }

     

    //highlighting code

    while(preg_match('/

    ((.|n)+)

    /Umi',$s,$c))

    //izķeram code tagu

    {

    if (isset($c[1]))

    {

    $str=$c[1];

    if (preg_match('/([code|code])/',$str))

    {

    $s=str_replace($str,$ALERT.'<font color=red>DOUBLING</font>'.$str,$s);

    //te es vienkārši aizliedzu iekš code ievietot citu code

    break;

    }

     

    //tā kā iekš datu bāzes visādi &, < etc tiek ievietoti kā &<,

    //bet highlightam vajag normālu kodu, es to visu apgriežu:

    //samainu < uz < utt:

     

    $trans = get_html_translation_table(HTML_ENTITIES);

    $trans = array_flip($trans);

    $str = strtr($str, $trans);

    $str=trim($str);

    if (strlen($str)>$CHARS['code'])

    //te ir aizliegums postēt pārāk garus koda gabalus

    {

    // $s=str_replace($str,'<br><font color=red>['.$CHARS['code'].' char limit for highlighting exceed]</font>|<br>'.$str,$s);

    break;

    }

     

    $str=str_replace("n","",$str);

     

    $str=str_replace('<?','#php_start#',$str);

    $str=str_replace('?>','#php_end#',$str);

     

     

    //highlight_string nestrādā ja kods nav iekš <? ?>; tāpēc no sākuma to pievienojam

    $str=highlight_string('<?'.$str.'?>',1);

    //jupee! highlight_string ir otrs parametrs, kas, if set to TRUE, neecho oputputu uzreiz.

     

    $pos=strpos($str,'<?');

    $str=substr($str,0,$pos).substr($str,$pos+5);

     

    $pos=strrpos($str,'?>');

    $str=substr($str,0,$pos).substr($str,$pos+5);

     

    //un pēc tam noņemam, saglabājot vairākus <? un ?> iekš viena code gabala

     

    $str=str_replace('#php_start#','<?',$str);

    $str=str_replace('#php_end#','?>',$str);

     

    $s=str_replace($c[0],$str,$s);

    //un nomainām koda gabalu sākotnējā stringā

    }

    }

  3. bzz!

    To jau var vienkārši pirms <html> ieraxtīt, bet kā būs, kad iekš php-faila jāraksta kādas apply-templates direktīvas? resp.

    <?

    [phpcode]

    ?>

    [html]

    <?

    [xml/xhtml/xsl/xltcode]

    ?>

    [html]

    <?

    [phpcode]

    ?>

    [html]

  4. Ar XML esmu tikai uzsācis. Mēģināju ielikt iekš php, a viš dzen (un ne jau budismu), ka xml-am nepatīk <?, jo tas lūk piederošot viņam. Kas ir mēģinājis šos nezvērus iejūgt vienos ratos, pastāsti savu experience.

  5. Ak jā, un vēl varētu izķert funkcijas, lai ieliktos links uz php.net manuāļiem (esmu redzējis tādas fičas phpclubneta forumā). It goes something like this.

    $match='/([a-z_]+)(/Uim';
    $s=$mysql_text;
    while(preg_match($match,$s,$c))
    {
     $str=$c[1];
     $str=str_replace('_','-',$str);
     $s=str_replace($c[1],'<a target=_blank href="http://www.php.net/function.'.strtolower($str).'.php">'.$c[1].'</a>',$s);
    }

  6. Incanti, lieku iekšā ierakstus ar INSERT DELAYED, pirms tam notiek tabulas OPTIMIZE (var gadīties, ka šīs operācijas notiek vienlaicīgi). Nez kāpēc tabulā rindas tiek atkārtotas, bet tā kā no tabulas tiek vilkta statistika, dažās vietās sanāk >=100% tieši šo atkārtojošos ierakstu dēļ.

    Double submit iespēja 99% izslēgta.

    Kādam nav gadījies?

  7. Jāskatās a) php.ini uzstādījums B) phpBB kods. c) operātājsistēmas ierobežojums.

    a) session.save_handler, session.save_path vai tie ir nokonfigurēti un uz diska ir pietiekami daudz vietas

    B) 1) kur viš grib glabāt sesiju - ja grib cookies, bet browserim tie ir atslēgti, varētu būt gļuks.

    2) ja viņš starto sessiju otrreiz ar tiem pašiem parametriem, varētu būt gļuks. Parasti ārstējams ar

     if (!is_array($_SESSION))
    { session_start(); }

    c) ja piem. palaiž skriptu zem linuxiem, uz session.save_path direktoriju jāliek rights uz execute, read, write un varbūt vēl kaut ko.

×
×
  • Create New...