Foros del Web » Programando para Internet » Javascript » Frameworks JS »

tinymce <script>

Estas en el tema de tinymce <script> en el foro de Frameworks JS en Foros del Web. Hola, estoy utilizando tinymce y me surgió un problema. Cuando cargo desde la base de datos un texto para mostrarlo en tinymce y este contiene ...
  #1 (permalink)  
Antiguo 23/03/2011, 07:53
 
Fecha de Ingreso: diciembre-2009
Mensajes: 186
Antigüedad: 14 años, 11 meses
Puntos: 5
tinymce <script>

Hola,
estoy utilizando tinymce y me surgió un problema.

Cuando cargo desde la base de datos un texto para mostrarlo en tinymce y este contiene la etiqueta <script></script> no me muestra la etiqueta ni lo que contiene.

La etiqueta la cargo de la siguiente forma: &lt;script&gt;alert("ERROR");&lt;/script&gt;

con los caracteres HTML escapados pero también lo he probado sin escapar y no funciona.

el codigo que utilizo para ejecutarlo es el siguiente:

Código:
$(selector).tinymce(
    {
        script_url : 'js/tiny_mce/tiny_mce.js',        
        theme : "advanced",
        mode : "textareas",
    	plugins : "bbcode",
    	theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,forecolor,fontsizeselect,|,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,|,outdent,indent,|,undo,redo",
    	theme_advanced_buttons2 : "",
    	theme_advanced_buttons3 : "",
    	theme_advanced_toolbar_location : "top",
    	theme_advanced_toolbar_align : "center",
    	theme_advanced_styles : "Code=codeStyle;Quote=quoteStyle",
    	content_css : "css/<?php echo $tema_visual ?>/tinymce.css",
    	entity_encoding : "raw",
    	add_unload_trigger : false,
    	remove_linebreaks : false,
        convert_fonts_to_spans: true,
        convert_newlines_to_brs : true,
        doctype : '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
        inline_styles : false,
        
        cleanup : true,
                
        
    });
  #2 (permalink)  
Antiguo 23/03/2011, 08:35
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: tinymce <script>

precisamente, porque la librería filtra para evitar scripts que son la fuente de ataques XSS, revisa su documentación para ver si existe una directiva para desactivarlo, pero de todas formas no es recomendable almacenar en base de datos script que puedan dumpearse fácilmente en HTML, para evitar riesgos de ataques XSS
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 23/03/2011, 09:50
 
Fecha de Ingreso: diciembre-2009
Mensajes: 186
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: tinymce <script>

Hola gracias por responder,

Lo que pretendo es que mediante timymce el usuario suba sus comentarios a la web y si mas tarde quiere modificarlo que la aplicación coja el cometario de la base de datos y lo muestre otra vez en tinymce.

El problema es que el usuario puede introducir el texto que quiera por lo tanto puede introducir la siquiente cadena
EJ:
Código:
<script>alert("ataque XSS");</script>
para evitar el ataque utilizo en PHP la función htmlspecialchars que escapa los caracteres y me guarda en la base de datos el siguiente texto:
Código:
&lt;script&gt;alert("ataque XSS");&lt;/script&gt;
Pero si el usuario quiere modificar el texto que escribió, la aplicación coge los datos de la base de datos y los carga en timymce. Suponiendo que solo escribiera el texto del ejemplo, en tinymce no se muestra nada, pero si lo vuelvo a guardar me vuelve a guardar la misma cadena. Es decir, que el texto se encuentra cargado en timymce pero no lo muestra.

Timymce me deja introducir javascript pero no me deja cartgarlo desde la base de datos.

Gracias
  #4 (permalink)  
Antiguo 04/04/2011, 15:29
 
Fecha de Ingreso: diciembre-2009
Mensajes: 186
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: tinymce <script>

Alguna idea,
es lo mismo que en este foro. Si escribo <script>alert("ataque XSS");</script>.
Y luego quiero modificar el texto en editar me muestra <script>alert("ataque XSS");</script>

Pero con la configuración que puse no me lo muestra.

He intentado tambien añadiendo la propiedad extended_valid_elements pero tampoco ha funcionado no se si hay que colocar algún parametro más.

gracias.

Etiquetas: tinymce
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:32.