Sākumlapa › Forumi › Mājas lapu izstrāde › Servera puse (php, java, ruby, perl, python) › Ievades datu pārbaude (PHP)
Piemēram šjo | repleisoju ar [img]
Un ar to pārnešanu vienā rindā ir arī advancētāka lieta man. Jo katram browserim un OS-am var būt savādāk.
$replace_chupa = array(“rn”, “n”, “r”);
$teksts = str_replace($replace_chupa, ‘
‘, $teksts);
jaa.. un man 80% mainiigie ir latviski ko paC esmu kodeejis! 😀 😀 Man saprotamaa valodaa.. 😀
nevis visu laiku jaasplito ar
. btw
nevis
(ja vien neesam oldskuul un dazhkaart gribam parseeties)
un tas dev un production kods. Prieksh klienta puses jaa, bet ne jau serera pusee…
EDIT:
izraadaas forums nonjem sleshus. Kaadeelj te nekas normaali nestraadaa? 🙁
Kaadeelj te nekas normaali nestraadaa? 🙁
Acīmredzot foksim ir tik pat kruta “aizsardzība”, kā TavaiMātei 😀
kāds programmētājs veic eval()
kāds tiešām ļaus jūzerim prasīt ?getfile.php?file=../../../../etc/passwd ? It`s so 90-ties .. jū nou 😀
Nu nē – ja ir faili, tad jūzerim dot pieeju tikai caur getfile.php?file=INTEGER
Normālā vidē intval(), trim(), mysql_real_escape_string(), stripslashes() un htmlspecialchars() ir pietiekami, atkarībā no situācijas.
Vienkārši – teksts ir teksts, un ja kāds postē sviestu, tad priekš tā ir spamfiltrs un admins, kas visādus “QPE5Di Qmnsq pmnx pwibxed ejlmz ywcfrg dtcunwo khtnfmr.” tipa tekstus vienkārši izdzēš.
Starp citu, es nekādi nesaprotu tos cilvēkus, kas HTML glabā datubāzē. Izņemot, ja tas ir speciāli saformatēts HTML teksts, ko saģenerējis foruma admins iekš fckeditora vai līdzīga rīka. tāpēc $str = str_replace(‘rn’, ‘
‘, $str);
Principā neliekas normāla doma kaut ko jūzeriem ļaut vadīt iekšā uz savu galvu un pēc tam drūmi pārbaudīt un validēt – nafig. Neļaut neko, tikai tekstu, to ar bbcode noformējot.
Man domāt, ka laikā, ko Tu pavadi dzešot komentārus un atstarpes, tiek patērēts vairāk resursu, nekā tas jebkad prasītu no servera to kodu izpildot. To laiku labāk lietderīgi izmantot, izdomājot kā kādu sarežģītaku kveriju iekešot vai no tāda izvairīties, nevis dzenāt bitus. Bet ko nu es saprotu…
Tāpēc jau PRODUCTION versija saucās tā, ka to uzmeiko tikai pāris reizes visā lifecycle; kad viss pārējais ir izdarīts. Kas attiecas uz minēto kveriju optimizēšanu, tev pilnīga taisnība. Taču ja reiz runa iesākās par iekavām un tiri piri, tad es iespēru savus divus eiro centus…
<><>
Š ādi jau viss šancē 🙂
Ievadīto datu validācija nenozīmē vispirms sačakarēt visu inputu…
Piedod, lūdzu, par komentāriem un dziļāku problēmas analīzi – turpini vien izglītot jauno koderu paaudzi. Pēdējo 5 gadu laikā, kopš veidoju nopietnas vebiskas un ne-vebiskas aplikācijas, esmu gana atskatījies wannabe php koderu brīnumus, kur uzpeld iepriekšminētās principiālās pieejas problēmas. Kuras nevajag labot ar vorkaraundiem – IMO cilvēkiem vajag pašiem pārslimot savas “bērnu slimības” (index.php fails kā visa aplikācija, utf8_decode un latin1_swedish_ci miksēšana, spageti kods un megaūberiecienītie globālo mainīgo lietošana kodā vietās, kur to toč nekad nevajag, failu pieeja ar minēto “getfile.php?file=glāžšķūņu.doc”, normālformu ignorēšana, intval() funkcijas nezināšana, DATETIME lietošana taimstampu vietā, brutāla jūzera norādīto failu inklūdošana, utt utjpr), nevis radīt ilūziju “izpildīšu 1 funkciju, un likšu lapā banneri ‘100% kruc'”. Cheers 😉
P.S – ja vēlies all-in-one risinājumu, tad iesaki cilvēkiem gan iekš $_GET, gan iekš $_POST repleisot “–” un “drop table” un “drop database” un “load data infile” ar tukšumiem. lai funkcija domātu kodera vietā.
Grāvi, krekeri tev un kvakss no manis! Atgādināji man, ka sākot no 5.2 eksistē tak šitas brīnums! [img]
Preses relīzes