| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Hvordan frasorteres html i formindput? Fra : Jakob Munck | 
  Dato :  14-12-05 22:59 |  
  |   
            Det er særdeles skadeligt for ens website, hvis en bruger indsætter 
 html-tags (<>) i formindput, så dem er man nødt til at rense formindholdet 
 for, inden det lægges ind i databasen. Ellers kan websiten blive ødelagt, 
 når det vises.
 
 Men hvordan bortsorterer man html-tags i formindputtet??
 
 v.h.
 Jakob 
 
 
  
            
             |   |   
            
        
 
            
         
           Jesper H (15-12-2005) 
         
	
            | Kommentar Fra : Jesper H | 
  Dato :  15-12-05 01:17 |  
  |   |   |   
            
        
 
            
         
           Jakob Munck (15-12-2005) 
         
	
            | Kommentar Fra : Jakob Munck | 
  Dato :  15-12-05 02:07 |  
  |   
            
"Jesper H" <jesper.haukrogh@gmail.com> skrev i en meddelelse 
 news:1134605808.872968.302300@g47g2000cwa.googlegroups.com...
 Ved hjælp af funktion htmlentities (tror jeg nok):
 http://dk2.php.net/manual/en/function.htmlentities.php
Tak for det. Mon ikke også denne replace-funktion kan fjerne html effektivt?
 $message = str_replace("<", " ", $message);
 $message = str_replace(">", " ", $message);
 v.h.
 Jakob 
            
              |   |   
            
        
 
            
         
           Jesper H (15-12-2005) 
         
	
            | Kommentar Fra : Jesper H | 
  Dato :  15-12-05 02:02 |  
  |   |   |   
            
        
 
            
         
           Jesper H (15-12-2005) 
         
	
            | Kommentar Fra : Jesper H | 
  Dato :  15-12-05 10:03 |  
  |  
 
            Det kan den vist godt, men det burde måske nærmere være:
 <?php
 $message = str_replace("<", "<", $message);
 $message = str_replace(">", ">", $message);
 ?>
 Det kan jo godt være at der i teksten er et større-end tegn eller
 mindre-end, som ikke er tiltænkt som html-kode.
 Men hvorfor så ikke bruge htmlentities() eller htmlspecialchars() ...
 --
 Mvh Jesper,  http://fdf.dk/landsdel1/
            
             |   |   
            
        
 
            
         
           bonfils (15-12-2005) 
         
	
            | Kommentar Fra : bonfils | 
  Dato :  15-12-05 11:27 |  
  |  
 
            On Wed, 14 Dec 2005 22:59:25 +0100, "Jakob Munck"
 <jm2_fjern_dette@webspeed.dk> wrote:
 >Det er særdeles skadeligt for ens website, hvis en bruger indsætter 
 >html-tags (<>) i formindput, så dem er man nødt til at rense formindholdet 
 >for, inden det lægges ind i databasen. Ellers kan websiten blive ødelagt, 
 >når det vises.
 >
 >Men hvordan bortsorterer man html-tags i formindputtet??
 Udover de nævnte:
 http://dk2.php.net/manual/en/function.strip-tags.php
-- 
 bonfils
 http://kim.bonfils.com
            
             |   |   
            
        
 
            
         
           Jakob Munck (15-12-2005) 
         
	
            | Kommentar Fra : Jakob Munck | 
  Dato :  15-12-05 12:58 |  
  |   |   |   
            
        
 
            
         
           Peter Brodersen (15-12-2005) 
         
	
            | Kommentar Fra : Peter Brodersen | 
  Dato :  15-12-05 14:04 |  
  |   
            On Wed, 14 Dec 2005 22:59:25 +0100, "Jakob Munck"
 <jm2_fjern_dette@webspeed.dk> wrote:
 
 >Det er særdeles skadeligt for ens website, hvis en bruger indsætter 
 >html-tags (<>) i formindput, så dem er man nødt til at rense formindholdet 
 >for, inden det lægges ind i databasen. Ellers kan websiten blive ødelagt, 
 >når det vises.
 
 Bare for at opsummere:
 
 - du kan bruge strip_tags() til helt at fjerne tags og hvad der minder
 om.
 - du kan bruge htmlspecialchars() til at rette bl.a. < og > til <
 og > (så det vises som mindre-end- og større-end-tegn). Det kan
 være at foretrække, hvis folk bruger < og > til noget reelt i deres
 indlæg.
 - htmlspecialchars() er at foretrække frem for htmlentities(), idet
 sidstnævnte også retter bl.a. æ til æ m.m., hvilket bl.a. gør
 søgninger mere besværlige
 - normalt er det ved output, at man afvikler funktionerne, og ikke ved
 indsættelse af dataen. Tanken er at dataen i databasen er
 medieuafhængigt, så man ikke har fx unødvendig HTML liggende i sin
 database. Overheadet ved at afvikle fx htmlspecialchars() hver gang er
 vitterligt minimalt, og det er typisk en uhensigtsmæssig optimering at
 gøre det "en gang for alle" ved indsættelse i databasen. Hvis man fx
 vil sende e-mails med indholdet eller præsentere indholdet på en anden
 måde, er det måske ikke hensigtsmæssigt at indholdet pludselig er
 fedtet ind i HTML-entities.
 
 -- 
 - Peter Brodersen
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |