beatovich: Rolf B's Lösung

Beitrag lesen

hallo

hallo

$result =~ s{[/]}{\\/}g;  #### <---------------

Nein, das reicht bei weitem nicht!!!

sub perldata_to_htmlscript_ob{
	my $hash_of_objects = shift;
	my $result = '';
	foreach( keys %{ $hash_of_objects } ){
		$result .= sprintf( qq{var %s = %s;\n}, $_, encode_json( $hash_of_objects->{$_} ) );
	}
	$result =~ s{</script}{<\\/script}g;
	$result =~ s{<script}{<\\script}g;
	$result =~ s{<!--}{<\\!--}g;
	# https://www.w3.org/TR/html51/semantics-scripting.html#script-content-restrictions
	# <!--  ===>  <\!-- , <script ===> <\script , </script  ===>  <\/script
	return sprintf("<script>\n//<!--\n%s\n// -->\n</script>\n", $result );
}

Das besteht diesen Test

my $arrayref=[ 
	"<!--<script>alert(\"gotcha\")</script>-->", 
	"</script>-->!--<script>alert(\"gotcha\")</script>-->", 
	"--><script>alert(\"gotcha\")</script>-->", 
	];
--
Neu im Forum! Signaturen kann man ausblenden!
0 92

Variable von PHP nach JAVASCRIPT übergeben

  1. 1
    1. 2
      1. 0
        1. -1

          Arrays und Hashes (Perl oder PHP) in <script> als JS-Object erzeugen

          1. 0
            1. 0
              1. 0
                1. 0
                  1. 0
                    1. 0
                      1. 0
                        1. 0
                          1. 0
                            1. 0
                  2. 0

                    Rolf B's Lösung

                    1. 2
                      1. 0
                        1. 0
                        2. 0
                          1. 0
                            1. 1
                              1. 0
                                1. 1
                                  1. 0
                                    1. 1
                                      1. 0
                                      2. 0
                                        1. 0
                                          1. 0
                                            1. 0
                                          2. 0
                                            1. 0
                                              1. 0
                                                1. 0
                                                  1. 0
                                                2. 0
                                                  1. 0
                                                    1. 0
                              2. 0
                                1. 0
                                  1. 0
                                2. 0
                                  1. 0
                                    1. 0
                          2. 0
                            1. 0
                              1. 0
                                1. 0
                                  1. 0
                                    1. 0
                                      1. 0
                                        1. 0
                                          1. 0
                                            1. 0
        2. 2
    2. 0
      1. 0
        1. 0
          1. 0
            1. 0
      2. 0
        1. 0
  2. 0
  3. 0
    1. 1
      1. 0
        1. 0
          1. 0
            1. 0
              1. 0
                1. 0
                2. 0
                  1. 0

                    JSONP, CORS

            2. 0
              1. 0
                1. 0
                  1. 0
                    1. 0
                      1. 0
                        1. 0
                          1. 0
                            1. 0
        2. 0
          1. 0
  4. 0
  5. 0
    1. 0
    2. 0
    3. 0
  6. 0
    1. 0