Ankündigung

Einklappen
Keine Ankündigung bisher.

Bedingung soll ord($Wert) in mehreren Bereichen entsprechen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bedingung soll ord($Wert) in mehreren Bereichen entsprechen

    Hallo.

    Beim Programmieren mit Delphi kann ich es, aber wie geht es mit PHP (oder Perl)? Nachfolgend der (vereinfachte) Delphi-Code.

    Code:
    if(... and ord($Zeichen) in [48..57,65..90,97..122,161..174,192..255])
    Wie kann ich also eine entsprechende if-Klausel unter PHP oder Perl bilden?

    Danke.

    Sven
    sigpic
    Vielen Dank für Eure Zeit, Absicht, Mühe und für Eure Ideen. Grüße,
    Sven


  • #2
    Was willst du denn machen?

    Edit

    PHP-Code:
    <?php
    $n 
    ord($Wert);
    if ( .. && (
    $n >= 48 && $n <= 57)
      || (
    $n >= 65 && $n <= 90)
      || ..) {
    ?>
    Auf was willst du prüfen? Helfen dir vielleicht eher reguläre Ausdrücke...

    Kommentar


    • #3
      Hallo Zergling,

      ich will automatsch irgendwelchen Text generieren. Wofür? Mich nerven all die E-Mail-Suchmaschinen (Bots) der Spammer, daher entwickle ich ein eigenes Script, was bei Aufruf durch deren Bots endlos irgendwelche sinnlosen aber sehr langen E-Mailadressen und Links (immer wieder zum selben Script) generiert.

      So was gibt es zwar schon, aber der Stolz ist größer, wenn ich meine eigenen Scripts schreibe, die deren Datenbanken vollkleistern.

      Ich bin auf ein ".pl"-Script (Perl) gestoßen, und will nun auch dieses Möglichkeit nutzen, mich etwas in das mir vollkommen neue Perl einzuarbeiten. Perl scheint dem PHP ähnlich zu sein. Das Ganze wird dann auf meiner Website (http://Navis.TerraRomana.org den Spam-Bots zum Fraße vorgeworfen.

      Zergling, vielen Dank. Ich werde es gleich ausprobieren.

      Sven
      sigpic
      Vielen Dank für Eure Zeit, Absicht, Mühe und für Eure Ideen. Grüße,
      Sven

      Kommentar


      • #4
        Damnit, nee, klappt irgendwie noch nicht!

        Hier der PERL-Code, welcher dem PHP ja recht ähnlich ist. Das bisherige Ergebnis ist, das immer nur Buchstaben einer Art ausgegeben werden, statt vieler verschiedener.

        PHP-Code:
        <?php
        #!/usr/local/bin/perl -- -*-Fundamental-*-

        $|++;
        ## Anzahl generierter "Worte":
        $MaxChars=20;

        ## Anzahl generierter E-Mails:
        $Runde=1;

        ## Eigener Link
        $Endlos="<A HREF=\"TheEndOfTheDarkness.pl\">";

        $Type="text/html";

        print 
        "Content-type: $Type\n\n";
        print 
        "<HTML><HEAD><TITLE>Email Addresses</TITLE></HEAD>\n<BODY>\n";

        print 
        "<H2><font color=\"#880000\">This generated text is not made for normal visitors but against those individuals and organizations who send their e-mail search programs throught the Internet in 

        order to massively abuse many others with tons of undesired mails. These generated pages are made to fill up the mail databases of those persons and organizations with useless and wrong 

        data.</font></H2>


        \n"
        ;

        srand(time() ^ ($$+($$<<15)) );

        for 
        $R(1..$Runde)
        {
         
        printf("   <A HREF=\"MAILTO:");
         for 
        $x(1..$MaxChars
         {
          while((
        $q<48 or $q>57)and($q<65 or $q>90)and($q<97 or $q>122))
          {
           
        $q=int(rand 255);
          }
          
        printf("%c",$q);
         }
         
        printf("@");
         for 
        $x(1..$MaxChars
         {
          while((
        $q<48 or $q>57)and($q<65 or $q>90)and($q<97 or $q>122))
          {
           
        $q=int(rand 255);
          }
          
        printf("%c",$q);
         }
         
        printf(".com\">");
         for 
        $x(1..$MaxChars
         {
          while((
        $q<48 or $q>57)and($q<65 or $q>90)and($q<97 or $q>122))
          {
           
        $q=int(rand 255);
          }
          
        printf("%c",$q);
         }
         
        printf("</a>");
        }
        printf("   ".$Endlos);
        for 
        $x(1..$MaxChars
        {
         while((
        $q<48 or $q>57)and($q<65 or $q>90)and($q<97 or $q>122))
         {
          
        $q=int(rand 255);
         }
         
        printf("%c",$q);
        }
        printf("</a>
        "
        );

        exit;
        ?>
        Weiß jemand weiter?

        Sven
        sigpic
        Vielen Dank für Eure Zeit, Absicht, Mühe und für Eure Ideen. Grüße,
        Sven

        Kommentar


        • #5
          Du willst an Hand der Ascii-Code-Bereiche deine Texte generieren?

          Das solltest du lassen, denn Zeichensätze sind nicht platformunabhängig und soviel ich weiß, existiert dafür auch keine Spezifikation, an die sich ein Betriebssystem halten muss.

          Sammle alle möglichen Zeichen in einem String:
          Code:
          $possibleChars = "abcdefghijklmnopqrstuvwxyzABCDEFG._"; // usw.
          $possibleCharsLength = strlen($possibleChars);
          Bau eine Schleife, die pro Lauf ein zufälliges Zeichen aus $possibleChars an einen String hängt:
          Code:
          $str = "";
          $maxLength = 100;
          while($maxLength--) {
              $str .= $possibleChars[rand(0, $possibleCharsLength)];
          }
          echo $str;

          Kommentar


          • #6
            Hmm, klingt gut. Werde es ausprobieren.

            Sven
            sigpic
            Vielen Dank für Eure Zeit, Absicht, Mühe und für Eure Ideen. Grüße,
            Sven

            Kommentar

            Lädt...
            X