MārisL Posted September 22, 2007 Report Share Posted September 22, 2007 $vards = $_POST["vards"]; $teksts = $_POST["teksts"]; htmlspecialchars($vards); htmlspecialchars($teksts); $cikls = fopen("komentari.txt", 'a') or die("neizdevas!"); fwrite($cikls, $vards.": "); fwrite($cikls, $teksts."<br/>"); fclose($cikls); Kā ir iespējams pasargāt viesugrāmatu, lai uz to neiespaidotos php kodi? Link to comment Share on other sites More sharing options...
localhero Posted September 22, 2007 Report Share Posted September 22, 2007 Varbūt kaut ko konkretāk par to iespaidošanos. Link to comment Share on other sites More sharing options...
Kavacky Posted September 22, 2007 Report Share Posted September 22, 2007 chmod 000 fails.txt Link to comment Share on other sites More sharing options...
MārisL Posted September 22, 2007 Author Report Share Posted September 22, 2007 nu piemēram viens viesugrāmatā pie teksta ierakstija "<?php ?>" un viss. Viesu grāmatas lapā radijās balta lapa. Link to comment Share on other sites More sharing options...
andrisp Posted September 22, 2007 Report Share Posted September 22, 2007 htmlspecialchars($vards); vietā raksti $vards = htmlspecialchars($vards); Lielākā daļa PHP funkcijas atgriež rezultātu, nevis strādā "pa tiešo" ar mainīgo. Nezinu kā lai sakarīgāk paskaidroju. Kā tu ielasi to txt failu ? Ar include ? Tā nevar. Ielasi ar fopen vai file_get_contents(), vai ko tādu. Link to comment Share on other sites More sharing options...
Delfins Posted September 22, 2007 Report Share Posted September 22, 2007 tu tipa inkludē pēc tam to failu !? Nu pasargāt var: 1. printēt tekstu no faila (file_get_contents()) 2. izņemt ārā <?php (str_replace) Link to comment Share on other sites More sharing options...
pilots Posted September 22, 2007 Report Share Posted September 22, 2007 (edited) $vards = htmlspecialchars($vards); utt. labojums. andrisp jau pastāstīja domu. Edited September 22, 2007 by pilots Link to comment Share on other sites More sharing options...
zinatnieks Posted September 22, 2007 Report Share Posted September 22, 2007 Iesaku lietot trīs funkcijas kuras nedaudz nodrošinātu normālu datu ievadi :) $texts = trim($texts); // Palīdzēs tikt vaļā no atstarpēm (space) $texts = strip_tags($texts); // Izsortēs ārā visus HTML un PHP tagus $texts = htmlspecialchars($texts); Link to comment Share on other sites More sharing options...
MārisL Posted September 23, 2007 Author Report Share Posted September 23, 2007 Paldies zinātniek, bet man vēl ir viena problēma. Kā ir iespējams izveidot tā, ka obligāti kaut kam ir jābūt ierakstītam tekstā, lai tas tiktu nosūtīts uz komentari.txt, jo vnk kāds var uzspiest ENTER un uzreiz tur parādas <br /> Link to comment Share on other sites More sharing options...
martins256 Posted September 23, 2007 Report Share Posted September 23, 2007 if(strlen($_POST["vards"])>2 and strlen($_POST["teksts"]) >5) { } Link to comment Share on other sites More sharing options...
MārisL Posted September 23, 2007 Author Report Share Posted September 23, 2007 (edited) šādi jāizskatās? :\ if(strlen($_POST["vards"])>2 and strlen($_POST["teksts"]) >5) { } $vards = trim($texts); $vards = strip_tags($texts); $vards = htmlspecialchars($texts); $teksts = trim($texts); $teksts = strip_tags($texts); $teksts = htmlspecialchars($texts); $cikls = fopen("komentari.txt", 'a') or die("neizdevas!"); fwrite($cikls, $vards.": "); fwrite($cikls, $teksts."<br/>"); fclose($cikls); Edited September 23, 2007 by MārisL Link to comment Share on other sites More sharing options...
martins256 Posted September 23, 2007 Report Share Posted September 23, 2007 Tagad, kā redzi, tiek pārbaudīts tikai vārda un teksta garums. Tā arī vari pārbaudīt citus, ja gribi pārbaudīt vai tiek padota kaut 1 zīme, tad izmanto isset: if(isset($_POST["vards"]) and isset($_POST["teksts"])) { } ar if iekļauj visu kodu, uz kuru tam vajadzētu attiekties. Tagad tas pārbauda vai garumi ir lielāki par 2/ 5 un ja ir, tad izpilda visu, kas ir starp { } if(strlen($_POST["vards"])>2 and strlen($_POST["teksts"]) >5) { $vards = trim($texts); $vards = strip_tags($texts); $vards = htmlspecialchars($texts); $teksts = trim($texts); $teksts = strip_tags($texts); $teksts = htmlspecialchars($texts); $cikls = fopen("komentari.txt", 'a') or die("neizdevas!"); fwrite($cikls, $vards.": "); fwrite($cikls, $teksts."<br/>"); fclose($cikls); } Link to comment Share on other sites More sharing options...
MārisL Posted September 23, 2007 Author Report Share Posted September 23, 2007 (edited) Kā tu ielasi to txt failu ? Ar include ? Tā nevar. Ielasi ar fopen vai file_get_contents(), vai ko tādu. darīts :) <hr> kas šiet ir nepareizi? :\ $file = fopen("komentari.txt","r"); echo " <br /><hr /><br /> <form action='index.php?lapa=pievienot' method='POST'> Vārds: <input type='text' name='vards'><br/> Teksts: <textarea cols='30' rows='5' name='teksts'></textarea> <br> <input type='submit' value='Rakstīt!'></form>"; Edited September 23, 2007 by MārisL Link to comment Share on other sites More sharing options...
bubu Posted September 23, 2007 Report Share Posted September 23, 2007 Kāpēc lai tur būtu kautkas nepareizs? Link to comment Share on other sites More sharing options...
MārisL Posted September 23, 2007 Author Report Share Posted September 23, 2007 man komentari.txt fails nerādas. Skatīt te Link to comment Share on other sites More sharing options...
Recommended Posts