[perl] =x.:// omzetten naar %3Dx.%3A%2F%2F

Pagina: 1
Acties:

  • pim
  • Registratie: Juli 2001
  • Laatst online: 03-09 15:08
Als ik in mijn browser het volgende formuliertje post:

<form>
<input type=hidden name=bla value="=x.://">
<input type=submit>
</form>

Dan worden alle verboden tekens netjes omgezet:
bla=%3Dx.%3A%2F%2F

Is daar ook een functie voor in perl?
Of zijn er zo weinig verboden tekens dat ik dat met wat replacements kan doen?

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
sub readform {
    my( @pairs, $pair, $name, $value );
    read(STDIN, $value, $ENV{'CONTENT_LENGTH'});
    @pairs = split(/&/, $value);
    foreach $pair (@pairs) {
          ($name, $value) = split(/=/, $pair);
          $name =~ tr/+/ /;
          $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
          $value =~ tr/+/ /;
          $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
          $FORM{$name} = $value;
    }

    @pairs = split(/&/, $ENV{QUERY_STRING});
    foreach $pair (@pairs) {
          ($name,$value) = split(/=/, $pair);
          $name =~ tr/+/ /;
          $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
          $value =~ tr/+/ /;
          $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
          $value =~ s/<!--(.|\n)*-->//g;
          $INFO{$name} = $value;
    }
    $action = $INFO{'action'};
}

  • pim
  • Registratie: Juli 2001
  • Laatst online: 03-09 15:08
thnx