Jump to content
php.lv forumi

Maris-S

Reģistrētie lietotāji
  • Posts

    634
  • Joined

  • Last visited

Posts posted by Maris-S

  1. Principā ir viens risinājums, īstenībā līdzīga pieeja kā piemērā, ko iedeva Mefisto, nepētīju pat kas tur atšķiras īpaši, jo man vienalga tāda pieeja nederēs:

     

    div#wrapper { /* block level elements support filters in IE */
    opacity:.5; /* for FF, Safari, other browsers */
    filter:alpha(opacity=50);
    }
    span#image{
    display:inline-block;
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://site/path/to/image.png', sizingMethod='scale');
    height:150px; /* what ever width the image is */
    width:150px; /* what ever height the image is */
    }

     

    Avots: http://channel9.msdn.com/forums/TechOff/257324-IE7-alpha-transparent-PNG--opacity

     

    Problēma ir tā ka šajā gadījumā jāielādē bilde caur css, bet manā gadījumā bildes mainās ar javascript veidojot slideshowu, iespējams ka arī varēja to līdzīgi atrisināt, bet vieglāk sanāca izveidot bildi ar atbilstošo fonu un neizmantot caurspīdīgumu.

  2. Saskāros ar jaunu (priekš manis) problēmu png bildēm IE pārlūkā. Pārbaudīju IE8, bet domāju ka 7., 6. un 5 ar atbilstošu png caurspīdīguma hacku būs tas pats.

     

    Tātad paša png caurspīdīguma atbalsts ir, strādā labi, bet kad png bildīte tiek ielikta div elementā, kam ir filter (daļējas caurspīdības) opcija, tā png bilde paliek tāda dīvaina ar tumšu toni, kādai viņai nevajadzētu būt. Pašai bildei jābūt ar caurspīdīgumu, ja ir bez, tad viss ir kārtībā.

     

    <div style="filter:alpha(opacity=100)"><img src="images/transparent_image.png" alt=""></div>

     

    Pie tam opacity var būt arī 100, vienīgi ja opacity ir tuvs 0 un neko neredz, tad protams neredz arī problēmu. Šī problēma neizpaužas arī tad, ja div elementam backgroundam piešķir kādu krāsu.

     

    <div style="background: lime; filter:alpha(opacity=100)"><img src="images/transparent_image.png" alt=""></div>

     

    Mozillā un operā (ar atbilstošajām css caurspīdības vērtībām) viss strādā labi. Varbūt kāds zin, kā varētu pielabot, lai strādātu arī IE pārlūkā?

  3. Ir iespēja to izdarīt bez javascript vispār:

     

    <form name="question_form" action="" method="post">
    <div>
    <input type="radio" name="chose" id="nr1"><label for="nr1">Izvēle nr. 1</label><br>
    <input type="radio" name="chose" id="nr2"><label for="nr2">Izvele nr. 2</label><br>
    <input type="radio" name="chose" id="nr3"><label for="nr3"><input type="text" name="description"></label><br>
    </div>
    </form>
    

     

    Vienīgi pārbaudi pēc iespējas vairākos pārlūkos, neesmu šo pieeju izmantojis pirms tam, nav notestēta.

     

     

    Sorry pasteidzos ar šo pieeju, nav viņa tik laba. Pirmām kārtām viņai ir nepieciešams javascripts, šis kods nestrādās jo nospiežot uz input lauciņu atzīmēsies atbilstošais radiobuttons un arī fokuss būs uz viņa, tātad kursoru nevar iedabūt inputā. Pielabots kods, lai šī problēma atrisinātos var būt sekojošs:

     

    <form name="question_form" action="" method="post">
    <div>
    <input type="radio" name="chose" id="nr1"><label for="nr1">Izvēle nr. 1</label><br>
    <input type="radio" name="chose" id="nr2"><label for="nr2">Izvele nr. 2</label><br>
    <input type="radio" name="chose" id="nr3" onfocus="javascript: document.question_form.description.focus()"><label for="nr3"><input type="text" name="description"></label><br>
    </div>
    </form>
    

     

    Ir arī vēl viens liels mīnuss, kas padara šo neizmantojamu, IE šis skripts vispār nestrādā.

  4. Es mēģinātu šo lietu veidot, izmantojot .htaccess failu, ar kura palīdzību aizliektu pieeju pa tiešu linku failiem (kā to izdarīt no galvas neatceros, bet šajā forumā kau kur atceros tas jau ir izrunāts). Pašu failu tad padod ar php, kuram būs pieeja tiem failiem, atbilstoši kad lietotājam ir atļauts failu izmantot. Par paša fleša daļu gan daudz nekā nezinu.

  5. Principā izskatās ka fails patiešām ir viens un tas pats. Nu tad es patiešām sāktu pārbaudīt tādas parādības ka fails pārāk ilgi uplodojas un pārsniedz php.ini limitus, vai ko tam līdzīgu. Vēl varētu noskaidrot ar kādu pārlūku strādā lietotājs, ļoti retos gadījumos pie specifiskiem nosacījumiem var sanākt visādas dīvainības.

     

    Mcimagemanager ir maksas (man šķiet) un ar php.ini saistītās problēmas (ja tādas ir) viņš neatrisinās.

  6. Iespējas kāpēc tieši vienam nestrādā varbūt dažādi. Pirmām kārtām ir jāpārliecinās vai patiešām fails ir tieši tāds pats kā pārējiem.

     

    Vai nav gadījumā kāds bmp fails pārsaukts (nevis pārkonvertēts) par jpg (tātad nepareizs tips).

    Vai nav fails par lielu.

    Utt...

     

    Ja nu tomēr patiešām fails ir identisks, tad vēl pastāv maza iespēja, ka lietotājam ir šausmīgi lēns uploads (varbūt internets caur mobilo) un fails samērā liels un sanāk ka viņam input time pārsniedz pieļauto limitu (max_input_time parametrs php.ini failā).

  7. Principā, ja arī grāmata ir paveca, pieeja ir pareiza. Es datu filtrēšanai izmantoju tādu pašu pieeju, funkcija get_magic_quotes_gpc tieši to arī pārbauda, vai ir vai nav ieslēgta automātiskā esceipošana un tikai gadījumā ja ir tad viņas automātiski pieliktos slešus (automātiskā esceipošana) noņemam un veicam savu manuālo filtrēšanu. Būtībā ir tā:

     

    function secure($value) {
      if (get_magic_quotes_gpc) { //Pārbaudām vai ir ieslēgta automātiskā esceipošana
         //Veicam stripslashes vai rekursīvi vai vienkārši mainīgajam atkarīgs no situācijas (šeit vienkāršais variants).
         $value=stripslashes($value);
      }
    
      //Tālāk veicam mysql_real_escape_string() vai rekursīvi vai kā atkarīgs no tā ko vēlas panākt.
    
      return $value;
    }

     

    Kodā ir parādīta tikai doma. Jādara tas tāpēc jo nevar zināt vai izveidotā mājas lapa kādreiz nestāvēs uz servera kur ir ieslēgta automātiskā saņemto datu esceipošana, ja tādā gadījumā neizdarot stripslashes palaidīsi mysq_real_escape_string, tad sanāks ka būs veikta dubulta esceipošana.

  8. Aa un vēl, te jau minēja par saglabātajām parolēm. Gadījumā ja viena un tā pati parole tiek izmantota daudzās vietās, tad ir vienalga vai draugiem.lv ļauj saglabāt pārlūkā to vai nē. Piemēram, explorera saglabātās paroles ir ļoti vienkārši dešifrējamas (vismaz līd 7. versijai, bet domāju ka 7. un 8. arī nav problēmas dešifrēt), domāju ka lielāko daļu programmu saglabātās paroles ir viegli dešifrēt, tātad ja jebkurā mājas lapā ir saglabāta parole un ja tā tiek izmantota visur, tad jāatšifrē tikai viena un izmanto kur vien gribi.

  9. Tādā situācijā pārinstalēt datoru vajadzētu, bet vispirms jāmēģina atrast spiegošanas programmu, pēc tās var mēģināt noskaidrot kurš to uzlicis. Protams ja to ir darījis patiešām gudrs cilvēks viņš izdomās kā noslēpt pēdas, ja tāds kurš iedomājās ka ir baigais urķis un grib kādu izāzēt, tad iespējams arī kaut ko varētu izpētīt, kaut gan iespēja nav liela. Kā piemēru var minēt programmu actualspy, ir redzēti brīnumi, kad tiek ielikta sava personīgā e-maila adrese spiegoto datu saņemšanai, pēc programmas failu izveidošanas datuma varētu noteikt laiku, kad programma uzinstalēta. Protams, ja cilvēks gana gudrs instalējot būs gan laiku pamainījis, gan nesūtīs uz personīgo e-mailu (ja vispār sūtīs uz e-mailu). Ja spiegs ir pavisam gudrs viņš iespējams pratīs sarakstīt savu keyloggeri un tad visdrīzāk nekādi antivīrusi un spiegu ķērāji neatradīs viņu.

  10. Ja gribi ar css, tad mēģini sekojoši:

     

    Definē sākumā apmēram šādas klases (pielabo pēc vajadzības):

     

    div.outer {
    width:400px;
    height:50px;
    position: relative;
    float:left;
    }
    
    div.outer div.transparent {
    background-color: #211101;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
    -moz-border-radius: 5px;
    width: 400px;
    height: 50px;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1;
    }
    
    div.outer div.content {
    width: 404px;
    height: 54px;
    color: white;
    top: 0px;
    left: 0px;
    margin: 5px;
    padding: 0px;
    position: absolute;
    z-index: 2;
    }
    

     

    Vēlāk pašā kodā jau raksti:

     

    <div class="outer">
    <div class="transparent"></div>
    <div class="content">
    	<b>Kaut kāds saturs, kas nav caurspīdīgs.</b>
    </div>
    </div>

  11. Labāk bildītes tipu nenoteikt pēc paplašinājuma, to jebkurš var elementāri pamainīt. Man pat pašam ir gadījies, kad cilvēkiem pateicu ka drīkst vadīt tikai jpg attēlus, citi neies un pajautāju vai derēs bez pārbaudes, atbildēja ka derēs. Tā kā viņi paši bija admini tad arī drošības zīņā viņi neko speciāli tur neliktu, bet viņi bmp bildes pārsauca par jpg, nevis konvertēja, bet protams ka nekāda resaizošana nenotika un bildi vienkārši vēlāk neattēloja vai pat nepievienoja vispār, jau neatceros. Tipa noteikšanai varētu izmantot getimagesize funkciju.

  12. Izskatās ka Tu gribi uplodot jau resaizotu bildi. Vienkāršā veidā nesanāks, bet domāju ka ar flash vai java appletu ko tādu varētu sataisīt, stipri nepārzinu šīs divas lietas, bet ja nu baigi vajag, tad mēģini izpētīt, varbūt ka arī kau kas varētu sanākt. Vienīgi ir jāuzdod jautājums vai tas patiešām ir tik nepieciešams un vai atmaksāsies patērētais laika, it īpaši gadījumā ja nekas nesanāks?

×
×
  • Create New...