Jump to content
php.lv forumi

Valcha

Reģistrētie lietotāji
  • Posts

    141
  • Joined

  • Last visited

Posts posted by Valcha

  1. Sveiki! Iespējams mazliet muļķīgs jautājums (jo kaut ko līdz galam nesaprotu no HTTP protokola), bet aktuāls.

    Tātad gribu reizi stundā veikt pieprasījumus uz web adresi ar CRON šeduleri.

    Vai ir iespējams mainīt HTTP vaicājuma klienta (mana Webservera) IP adresi, ko saņems otrā galā atbildes Webserveris? Nav būtiski saņemt pretī datus/rezultātus, galvenais ir izpildīt vaicājumu.

    Droši vien to nevar darīt protokolu uzbūves dēļ vai kā tml., bet tomēr jānoskaidro - vai patiešām nevar?

    P.S. Tas nav saisīts ar hakošanu, bet ar apkopotu vaicājumu tālāku nodošanu caur manu Webserveri, no dažādiem klientiem, saglabājot to IP adreses pieprasījumā - statistikai.

  2. Ok, ja reiz nav izdomāts nekāds universāls hacks šai lietai, izdomāju savu risinājumu.

    Katrai tabulai vienmēr ir nulles <tr class="dzesmani">, kuru es pēc tam ar javascriptu pēc klases izdzēšu on document.ready. Tas izsaucas katrā lapā un varu aizmirst par šo problēmu.

  3. Nu, parasti pie datu ģenerēšanas pārbaudu, cik rindiņas būs jāizvada. Ja nav neviena rindiņa, tad neizvadu pašu tabulu, bet tikai paziņojumu - "Nekas netika atrasts/atlasīts"

    Nu ja, bet ir gadījums, kad Tu tajā tabulā pievienosi datus ar JavaScript pogas klikšķi..

  4. Zināms, ka XHTML-ā tabulas tbody nevar būt bez tr elementa. Bet dabā, protams, tā notiek gan - dinamiski ģenerējot datus.

    Kā jūs paredziet kodā gadījumu, kad nav neviena ieraksta? Vai tiešām liekat tukšu <tr style="height:1px;"></tr> ? Man tas ļoti nepatīk tādēļ, ka tas vai nu sarežģīs PHP koda daļu, vai arī ja es pēc ar ar JavaScript skaitu tabulas tbody bērnus, man vienmēr jārēķina -1.

    Jebkurā gadījumā šāda XHTML tbody iegriba liek mainīt arī vai nu PHP vai arī JavaScript daļu. Kā darāt jūs?

  5. Nu, piemēram, ja tev tas strings būs UCS2 kodējumā, tad var gadīties, ka vienbaitīgs simbols & īstenībā nav čarakters "&", tas ir tikai sastāvdaļa no divbaitu čaraktera. Taču php to nezinās, un uzskatīs, ka & ir jāaizvieto ar & - tādējādi tas sačakarēs stringu.

    Tāpēc jānorāda čarsets, ja vien tu nelieto vienbaitīgus kodējumus (vai arī UTF-xx paveidus).

    Hmm, bet neredzu, kurā brīdī PHP ir problēmas ar divbaitu čarakteriem pie htmlspecialchars. Man divbaitu čarakteri nemainās, ja lapas WEB kodējums ir UTF-8 un faila kodējums ir UTF-8. Tas jau laikam ir būtiski tikai tad, ja pirms tam uz stringu ir izpildīts htmlentities, ne?

    Vai Tev nebūtu grūti parādīt kādu konkrētu piemēru?

    Tiešām sāku justies neaptēsts .. :)

  6. Nu tātad, tas ir visur pielietojams. Bet Tu varētu man dundukam izskaidrot, kam vajadzīgs

    string htmlspecialchars  ( string $string  [, int $quote_style= ENT_COMPAT  [, string $charset[, bool $double_encode= true  ]]] )

    ?

    Kādēļ ir jānorāda CHARSET? Varētu domāt, ka citādi viņš gribēs kaut ko darīt ar UNICODE simboliem, bet nekā, viss ir korekti.

  7. Neesmu gluži iesācējs, bet tomēr nolēmu pārliecināties - vai patiešām ir tā, ka htmlspecialchars, izmantojot formas input elementiem, sūtot uz POST pārvēršas atpakaļ uz parastajiem simboliem (tipa htmlspecialchars_decode)? Vai patiešām tā ir un vai tas notiek uz visiem pārlūkiem?

    Esmu izpētījis, ka specialchars neietekmē ne lauku maxlength, ne javascript strlen utt. Tā kā izskatās, ka htmlspecialchars var izmantot da jebkur, ne pie kā nepiedomājot. Vai man ir taisnība?

  8. Man ir masīvs $masivs , kurā var būt elements 'elements3' un var nebūt. Tādu elementu ir daudz.

    Vai nav izdomāta kāda feina funkcija, ar kuru varu darīt tā :

    echo masivaElements ($masivs['elements3'],'defaulta vertiba');

    Ja vērtības nav, tad izvada defaulto, citādi - esošo.

     

    Problēma ir tāda, ka pie ieslēgtām noticēm, kliedz, ka nav definēts indekss (nav korekti).

     

    Negribas katram masīva elementam rakstīt

    echo ((isset($masivs['elements3'])?$masivs['elements3']:'defaulta vertiba'));

     

    Pieļauju, ka šis ir kārtējais īsti neatrisināmais sīkais uzdevums, bet ja nu tomēr kādam ir pieredze..

  9. Grey_Wolf, man arī šķiet, ka Tu jauc ar formatēto druku jeb printf.

     

    Es arī esmu lasījis, ka echo ir nenozīmīgi ātrāks.

     

    Pie tam - vēl ātrāk esot rakstīt echo $mainigais1.' teksts '.$mainigais2;

    nekā echo "$mainigais1 teksts mainigais2".

  10. Domāju, ka tikai servera turētāji Tev var līdzēt. Droši vien, ka viņi neatbild, jo uzlauzti ir visi serveri (vai arī kādas globālas konfigurācijas problēmas). Un ziepe jāstrebj ārā, nav laika / vēlēšanās taisnoties utt.

    Nedomāju, ka kāds Tev ieteiks unikālu backdooru, caur kuru varēsi ielogoties serverī :) Tad jau nekādas jēgas vispār nebūtu SSH utt.

  11. Paldies, blackhalt, bet tas pāradresē pa īstam, bet man vajag, lai vizuāli paliek a direktorijā, bet patiesībā lasītu b. Labi, izskatās, ka iešu parakstīties ārvalstu forumos.

    Atradu! Es varu noteikt, vai pieprasījumam ir redirect statuss! Ja tāds nav, tad neļauju lasīt pa tiešo:

     

    # ja redirekt statuss ir tukšs

    RewriteCond %{ENV:REDIRECT_STATUS} ^$

    # ja uri satur neatļauto pa tieši b/ direktoriju

    RewriteCond %{REQUEST_URI} ^b/

    # dodam 404 kļūdu!

    RewriteRule ^(.*)$ / [R=404,L]

     

    Paldies!

  12. Man tas neder - patiesībā man tur ir bik sarežģītāk -

    RewriteRule ^(a|c)/(.*)$ b/$2 [L]

     

    Un tad es pēc tam smuki zinu, vai nāk no a vai no c un attiecīgi dinamiski reaģēju. Fiziski direktorija ir viena, bet lasu to divejādi..

    bubu - ja reiz neiesaki versiju, tātad laikam jau tas nav tik vienkārši :)

     

    Bet ja kāds man vismaz paskaidrotu, kādēļ man nesanāk??

     

    Jo it kā pie pirmā nosacījuma, ja piepildās, izpildās tālāk nelaist un apstājas [L].

    Bet, ja trāpa otrā nosacījumā - atkal - izpildās un apstājās [L].

     

    Tad kāpēc pēc rezultāta man izskatās, ka vispirms izpildās 2. - RewriteRule ^(a)/(.*)$ b/$2 [L] un pēc tam 1. - RewriteRule ^(.*)$ / [R=404,L] ?

  13. Vēlos, lai, lasot direktoriju a, patiesībā lasītos direktorija b. Tai skaitā visas tās apakšdirektorijas.

    Bet vēlos arī, lai b pa tiešo nevarētu lasīt - 404 kļūda.

     

    Daru tā:

     

    RewriteCond %{REQUEST_URI} b/

    RewriteRule ^(.*)$ / [R=404,L]

     

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(a)/(.*)$ b/$2 [L]

     

    Un sanāk tāda lieta, ka tikko kā pielieku, lai nelasās b, tā arī a vairs nelasās. Vai kādam ir versijas, ko daru nepareizi un kā atrisināt šo lietu?

    Būšu priecīgs ieraudzīt, kur kļūdos.

  14. Vai MYSQL ir iespējams uz konekcijas brīdi norādīt, ka tabula a būs pieejama kā b, bet b - kā a, bez rename? Šķiet, ka nē, bet tomēr nolēmu noskaidrot..

    Iedomājos, ka tīri teorētiski, veidojot konekciju pie DB, varētu būt iespēja pārrakstīt references, ar kurām darbojas PHP (jeb vai mysql konekcija).

×
×
  • Create New...