Jump to content
php.lv forumi

Maris-S

Reģistrētie lietotāji
  • Posts

    634
  • Joined

  • Last visited

Everything posted by Maris-S

  1. Briedim šoreiz ir taisnība, runa iet nevis par pieeju pašiem sesijas datiem, bet gan sesijas identifikatora nozagšanu, sīkāk googlē: cookie stealing vai kaut kā līdzīgi.
  2. Pagaidām tieši 5.2.14 versiju tāds brīnums, ar 5.2.13 normāli strādāja. Tagad domāju vai tas pie manis tādi brīnumi vai visiem tā?
  3. Gribēju pajautāt vai ir kam gadījies izmēģināt php 5.2.14 uz windows? Nācās labu laiku uzstādīt, jo apache serviss nestartējās, izrādījās to ietekmē curl paplašinājums, atslēdzot to viss strādā. Paskatījos apache log, tur sekojošs: [Fri Jul 30 15:28:36 2010] [warn] pid file C:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run? Windows 7 proffesional (licenzēts) Apache/2.2.15 (Win32) Php 5.2.14 Instalēšanai izmantoju php.net pieejamo instalatoru, pagaidām vēl nemēģināju izmantot pieejamos zip arhīvus un kopēt visu manuāli.
  4. Maris-S

    drag-n-drop

    Izskatās būs laikam spēcīgi jālieto javascripts, gatavu risinājumu tieši kā Tev vajadzīgs diez vai atradīsi, bet paskaties varbūt šeit: http://www.dhtmlgoodies.com/index.html?page=dragDrop Tur ir dažādi skripti ar drag and drop izmantošanu, ja ir vēlēšanās vienkārši papēti skriptus, kā viņos tiek noteikts kur nomet elementu un tad jātaisa savējais.
  5. Man tāda aizdoma ka tomēr tas nebija mysql dokumentācijā, es pats esmu redzējis tādas rekomendācijas, bet šķiet ne mysql izstrādātā dokumentācijā. Lai nu kā, ja kāds uziet iepostējie lūdzu linku.
  6. Es parasti izmantoju šādu funkciju: function quote_smart($value) { //Stripslashes if (get_magic_quotes_gpc()) { $value = stripslashes($value); } //Quote if not a number or a numeric string if (!is_numeric($value)) { $value = mysql_real_escape_string($value, $this->connect); } return $value; } Tā ir funkcija no mana db objekta tāpēc $this->connect vietā jālieto atbilstošais datubāzes savienojums, vai arī nav jāliek vispār, tad tiks izmantots pēdējais, kas atvērts ar mysql_connect().
  7. Nav vēlams nenozīmē ka aizliegts. Pagaidām neesmu vēl redzējis nevienu vērā ņemamu argumentu kāpēc nevarētu mysql izmantot rezervētos vārdus koloniņu vai tabulu nosaukumos. Manuāļus jāstudē tādā līmenī, lai varētu veiksmīgi strādāt pie projekta un attīstīties. Tas ka nevar iemācīties kā lietot rezervētos vārdus neliecina par veiksmīgu studēšanu. Ja tas ir tik ārkārtīgi bīstami, tad no datubāzu ražotāju puses būtu pareizāk aizliegt lietot tos vispār tur kur viņus nevajag un tas būtu jau izdarīts, rekomendācijas šajā gadījumā norāda uz to ka lietojot rezervētos vārdus ir jādomā līdzi ko dara. Lūk apraksti par tēmu no mysql mājas lapas: http://dev.mysql.com/doc/refman/5.0/en/identifiers.html http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html Noteikti par šo tēmu var vēl atrast dažas sadaļas mysql dokumentācijā. Tomēr es neredzu ka tas būtu uzsvērts tik stipri ka jāatsakās no rezervēto vārdu izmantošanas tabulu nosaukumos, pat pretēji vispār nav tas uzsvērts. Grey_Wolf, gribētu redzēt kur tieši mysql dokumentācijā tas ir norādīts (iespējams palaidu garām), tīri intereses pēc, kā šo lietu argumentē mysql ražotājs?
  8. Koloniņas nosaukumu `date` lietoju tikai kā piemēru, tas ka līdzīgas koloniņas (citi datumi) var nākt klāt ir atkarīgs no sistēmas prasībām, tā pat datuma vietā var būt `name`, `order` un pilnīgi jebkas cits, arī ne rezervēto vārdu koloniņām var būtu situācija, kad nāks papildus līdzīgas (satura ziņā) koloniņas, bet neuzskatu to par argumentu kas neļautu izmantot rezervētos vārdus koloniņu nosaukumos. Tas ka rodās situācija kad jāpievieno koloniņa date1 ir nevis problēma ar rezervēto vārdu izmantošanu to nosaukumos, bet gan ar datubāzes struktūras nepareizu projektēšanu no paša sākuma projekta ietvaros. Par to, ka rakstzīmju virknēm (stringiem) izmantot pēdiņas vai apastrofus (atkarīgs no programmēšanas valodas) ir slikti, patiešām parasti neviens nav teicis (galvenajos vilcienos). Ir jābūt mehānismam kā atšķirt tekstu no cipariem, tās ir pēdiņas. Tāpat mysql ir mehānisms kā atšķirt rezervēto vārdu kolonņu, tabulu utt nosaukumos, tas ir simbols `. Tas ka dažreiz te parādās tēmas par šiem jautājumiem nozīmē tikai to ka nav pilnīgi iemācījušies sintaksi vai mysql visumā. Neviens vēl nav piedzimis ar tādām zināšanām, tāpēc pastāv instrukcijas, mācību materiāli un arī šis un citi forumi, kur to visu var iemācīties.
  9. Tas ka tabulas nosaukumā nevajadzētu likt ciparus, kaut arī tas ir pieļauts, piekrītu, piekrītu arī tam, ka tabulu un koloniņu nosaukumos nevajadzētu likt dažādus speciālus simbolus (praksē tāds brīnums gan nav redzēts). Par case sensitive nosaukumiem atsevišķs stāsts, oracle tik labi nemaz nepārzinu, ja tur patiešām ir tādi ierobežojumi, tad tas ir jāņem vērā. Tomēr nepiekrītu ka nevajadzētu izmantot rezervētus vārdus koloniņu nosaukumā, neredzu tam pilnīgi nekādu iemeslu, ir atbilstoša sintakse kā izmantot rezervētus vārdus koloniņu nosukumos, ja tai koloniņai jāsatur datums, tad neredezu iemeslus tur nelietot `date`. Rakstzīmju virknes arī ievadot jālieto atbilstoša sintakse (pēdiņas, apostrofi utt.) un neviens vēl nav teicis ka tas ir slikti. Nav gluži labs piemērs, salīdzinot ar koloniņu nosaukumiem, bet tomēr, sintakse ir jāzin un esmu lietojis tādas koloniņas gan personīgajos projektos, gan strādājot pie svešiem projektiem, pilnīgi nekādas problēmas nav radušās nevienam no izstrādātājiem.
  10. Vienu izplatītāko iespēju, kā varēja ievietot skriptus, Briedis jau pieminēja. Tomēr ja skripti ir failos pa tiešo, tad tur ir kas sarežģītāks un jāskatās pa kurieni tikuši klāt Taviem failiem. Papildus šeit jau aprakstītajai ftp paroļu un servera drošības pārbaudei pārliecinies vai ar php skriptiem viss ir kārtībā (tiem kas darbojas ar failiem, ja tādi ir). Iespējams Tu izmanto kādus ne sevis taisītos skriptus tieši darbībām ar failiem (failu manageriem), ja tādi ir, pārliecinies ka esi nomainījis visas noklusētās paroles, caur tiem var tikt klāt, pašam ir gadījies. Ja Tavs CS serveris ir uzstādīts tādā veidā ka tā izpildes skripti var piekļūt arī otrajai mājas lapai, tad caur to arī varēja piekļūt failiem, tātad tur arī jāpārbauda failu apstrādes skripti.
  11. Maris-S

    WSIWYG

    Šajā te tēmā: http://php.lv/f/topic/14621-faila-ielade/page__hl__Tinymce__fromsearch__1 es pieminēju Tinymce bezmaksas paplašinājumu darbam ar attēliem, var arī izmantot kā parastu failu pārlūku bez Tinymce. Tikai izpētiet login sistēmu un nomainiet noklusēto paroli. http://www.phpletter.com Tiešais links nestrādā šim saitam, tāpēc skatieties Ajax File and Image Manager. Tagad skatos ka viņiem atsevišķi ir Tinymce Ajax File and Image Manager Version 1.0 RC4, iespējams ka tieši šis jāizmanto ar Tinymce, bet nu kas vēlēsies tie paši izpētīs.
  12. Man arī ne visai patīk izvadīt htmlu ar php, viens no iemesliem ir ērtība, nav sintakses iekrāsošanas, kad vajag lielus gabalus tādā veidā izvadīt esmu pat output buferus izmantojis, lai izveidotu stringu, kas tiks izvadīts. Savādāk kad pie lieliem koda gabaliem atgriezies pēc laika tajā putrā nav tik vienkārši tikt skaidrībā.
  13. Šitas Tev nederēs? http://php.net/manual/en/function.getmypid.php
  14. Maris-S

    $_SESSION

    Esmy, esceipošana jau nav tikai drošības lieta, kā uid varētu būt arī lietotāja vārds (šaubos ka kāds izmantos vārdus ciparu id vietā, bet tomēr).
  15. Visumā datubāze un mysql injekcijas nav vienīgais veids kā uzlauzt mājas lapu. Kā jau daži minēja var uzlauzt pašu serveri, tātad ja liksi pats savējo, tad pameklē informāciju tieši par web serveru drošību, protams arī par jebkurām lietām, kas tiks izmantotas uz servera: ftp, ssh utt. Neskatoties uz serveri arī pašai lapai var būt drošības caurumi, kā jau teicu mysql nav vienīgā lieta, kur jāpievērš uzmanība drošībai. Drošība ir arī atkarīga no lietām, kas ir uzprogrammētas mājas lapās un arī kā tās ir uzprogrammētas. Uz ātro nāk piemērs par failu augšupielādes un dzēšanas iespējām, pie noteiktiem nosacījumiem var veidoties drošības caurumi, kas ļaus izdzēst vai nolasīt failus, kurus nevajadzētu.
  16. Ko izvada: echo($_SERVER['REMOTE_ADDR']); ?
  17. Izvadi ar echo pašu vaicājumu kā rakstīju iepriekš. Parādi kāds viņš vispār izskatās.
  18. Kas tā par funkciju S? S($subject)
  19. Pirms paša vaicājuma izpildīšanas izvadi kāds šis izskatās. echo("INSERT INTO issues (subject, content, type, project_id, user_id, status, ip_add) VALUES (".S($subject).",".S($content).",".S($type).",".S($project_id).",".S($_SESSION['u_id']).",".S($veert_main).",inet_aton('".$ip."'))");
  20. Īsti nesapratu ko Tu domāji ar php mainīgā apēšanu? Tas jau Tev ir cik saprotu pirms vaicājuma definēts un viņam piešķirta ip adrese kā vērtība.
  21. Ip adrese ir string tips, tāpēc to jāliek apostrofos. Doma aptuveni tāda: mysql_query("insert into table (ip) values ('$ip')");
  22. Katram gadījumam pamēģini abiem vaicājumiem pielikt limit uz kādiem 10 ierakstiem, iespējams Mefisto taisnība, ka ierakstu par daudz, kau kas varbūt nevelk tik lielus apjomus. Dīvaini ka kļūdas nekādas neizdod. Ieliec paste.php.lv Database_ objekta skriptu, tomēr gribās viņu apskatīt.
  23. Komentē pa rindiņām ārā un atrodi kuras tieši nenostrādā.
  24. Nav gadījumā ar Database_ objektu kau kas neriktīgi? Pamēģini sataisīt pavisam vienkāršus divus vaicājumus bez cikliem, kas piemēram atgriež kādu vienkāršu rezultātu, vaicājumus sataisi tādā pašā veidā, piemēram: $db1 = Database_::nobuffer_query("select count(id) from tabula"); echo($db1->num_rows()); $db2 = Database_::nobuffer_query("select id from tabula"); echo($db2->num_rows());
  25. Ja netiek izdotas nekādas kļūdas, pārliecinies vai skriptam sākumā ir: error_reporting(E_ALL); ini_set('display_errors', 'on'); Skriptā neiedziļinājos, bet ja apstrādā daudz ierakstus, nav gadījumā sasniegts pieļaujamais izpildes laiks?
×
×
  • Create New...