php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 23-08-2007, 02:52
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard wort finden

Hallo,

ich hab momentan folgendes:

PHP-Code:
$query "action=msgdeletemsg;topic=119.0;msg=650";
$array = array('wort_eins''delete''wort_drei');

$i=0;
while(
$i<count($array)) {    
    if (
eregi($array[$i], $query)) {
        echo 
"Gefunden: ".$array[$i];
        break;
    }
    
$i++;

Ergebniss:
Gefunden: delete

Das hat mir bis jetzt auch gereicht aber ich brauch es jetzt doch einwenig komplizierter

Ich möchte dass er mir das ganze wort (msgdeletemsg) anzeigt... also von sonderzeichen bis sonderzeichen kann mir da jemand helfen?
Mit Zitat antworten
  #2 (permalink)  
Alt 23-08-2007, 03:00
.elementrio
 Registrierter Benutzer
Links : Onlinestatus : .elementrio ist offline
Registriert seit: May 2005
Beiträge: 217
.elementrio ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,
meinst du das etwa so?
PHP-Code:
$query "action=msgdeletemsg;topic=119.0;msg=650";
$array = array('wort_eins''msgdeletemsg''wort_drei');

$i=0;
while(
$i<count($array)) {    
    if (
eregi($array[$i], $query)) {
        echo 
"Gefunden: ".$array[$i];
        break;
    }
    
$i++;

Ergebniss:
Gefunden: msgdeletemsg

Kann sein das ich es falsch verstanden habe
Mit Zitat antworten
  #3 (permalink)  
Alt 23-08-2007, 03:14
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

*g* nee das wär schön...

Also das array ist fest vergeben mit einzelnen begriffen.

jetzt durchsuch ich querys (die kenn ich nicht, passiert automatisch) nach diesen begriffen.

wenn ich also auf ein query stoße wo dieser begriff drin existiert, dann will ich das wort bzw. diesen string von = bis & haben (speichern)...

oder um es kompliziert zu machen von = bis & oder bis ;

Also wenn delete gefunden wurde gib mir den ganzen begriff von = bis & oder ; aus...

das wär dann:
msgdeletemsg

hoffe konntest mich jetzt nen bischen verstehen...
Mit Zitat antworten
  #4 (permalink)  
Alt 23-08-2007, 05:08
.elementrio
 Registrierter Benutzer
Links : Onlinestatus : .elementrio ist offline
Registriert seit: May 2005
Beiträge: 217
.elementrio ist zur Zeit noch ein unbeschriebenes Blatt
Standard

vll. ma mit preg_match probieren? (arbeite mich grad rein)

PHP-Code:
$query "action=msgdeletemsg;topic=119.0;msg=650";
preg_match("/=(.*)\;(.*);/i"$query$matches);
echo 
$matches[1]; 
macht aus
action=msgdeletemsg;topic=119.0;msg=650
nur
msgdeletemsg
Mit Zitat antworten
  #5 (permalink)  
Alt 23-08-2007, 06:05
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

hmm ja preg_match() is mächtig wenn man es erstmal verstanden hat... hmm müsste ich mich mal mit beschäftigen das ist sicher die einzige möglichkeit. Da wär dann nur die frage wie kann ich das kombinieren...

Ich dank dir aber schonmal für deinen Ansatz!!
Mit Zitat antworten
  #6 (permalink)  
Alt 23-08-2007, 07:21
.elementrio
 Registrierter Benutzer
Links : Onlinestatus : .elementrio ist offline
Registriert seit: May 2005
Beiträge: 217
.elementrio ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hey,
jep mit preg_match kannst es sicherlich schaffe. Leider kann ich dir nicht weiterhelfen. Da ich die preg_match funktion seit heute verwende
Mit Zitat antworten
  #7 (permalink)  
Alt 23-08-2007, 08:39
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Wie wäre es denn mit einfachen Stringfunktionen?

PHP-Code:
$query "action=msgdeletemsg;topic=119.0;msg=650";
$array = array('wort_eins''delete''wort_drei');

foreach( 
$array as $search ) {
   
$word '';
   
$pos strpos$query$search );
   if( 
$pos===false ) {
      
// nicht gefunden
      
continue;
   }
   
// In String vor dem gefundenen Wort nach = suchen
   // Also das letzte = im String
   
$start strrpossubstr$query0$pos ), '=' );
   
// $start ist false, also ist dies das erste Wort
   
if( $start===false ) {
      
$start 0;
   }
   
   
// In String nach dem ersten ; oder & nach dem Wort suchen
   
$semi strpossubstr$query$pos ), ';' );
   
$amp strpossubstr$query$pos ), '&' );
   
$stop min$semi$amp );
   
   
$word substr$query$start$stop-$start );


Komplett ungetestet, aber so würde ich es machen, wenn ich keine Regex verwende
Mit Zitat antworten
  #8 (permalink)  
Alt 23-08-2007, 11:17
Flip7
 Registrierter Benutzer
Links : Onlinestatus : Flip7 ist offline
Registriert seit: May 2007
Ort: Munich
Beiträge: 126
Flip7 ist zur Zeit noch ein unbeschriebenes Blatt
Flip7 eine Nachricht über ICQ schicken
Standard

Hier!
Hab's ausprobiert und funzt!

PHP-Code:
<?php

$query 
"action=msgdeletemsg;topic=119.0;msg=650";
$words = array("ac""msg""delete""top""650"".0");
foreach(
$words as $word)
{
    
$matches = array();
    if(
preg_match("/[=|;|&]?\\w*$word\\w*[=|;|&]?/i"$query$matches))
    {
        foreach(
$matches as $match)
        {
            
$match preg_replace("/[=|;|&]/",""$match);
            echo 
"Gefunden für $word: $match<br />";
        }
    }
}

?>
Tipp: lern preg_match, weil es sauwichtige Funktionen sind!
__________________
Find Parties?
Partysuche
Mit Zitat antworten
  #9 (permalink)  
Alt 23-08-2007, 14:44
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

@ Flip7

Saubere sache hatte es noch stundenlang probiert aber so richtig wollte es nicht... mit deiner Variante klapt es super, Danke!

Das ich es lernen sollte damit hast du allerdings recht... immer hat das passende zum passendem zeitpunkt lernen
Mit Zitat antworten
  #10 (permalink)  
Alt 23-08-2007, 15:07
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Flip7, "Tipp: lern preg_match, ..." weil das was du da gebaut hast nicht umbedingt performant und sinnvoll ist.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #11 (permalink)  
Alt 23-08-2007, 15:14
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

@tontechniker

wie dann??? Aufjedennfall ist er der einzige bei dem ich bekommen hab was ich wollte.
Mit Zitat antworten
  #12 (permalink)  
Alt 23-08-2007, 15:42
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

@Flip

kannst du es mal so machen das es mit folgendem array auch funktioniert? Bitte!!

PHP-Code:
$words = array(
     //start
     

    // SZ
    '<!- ', '->', '$_', '@@', '%22', '`', '"', '%00', '?hl=', '%3fhl=',
    '<?php', '<?', '?>', '%3C%3Fphp', '%3F>', '%2527', '%27', '\'', '/**/', '/../',
    
    // A
    '&aim', 'alert ', '<applet', 'admin_', 'and ',

    // B    
    '/bin/ps', '/bin/echo', '/bin/kill', '/bin/', 'bin/python', 'bin/tclsh', 'bin/nasm', '/bin/mail',
    'bash_history', '.bash_history', '.bat', 'bulk', 'bulk ', 'behavior: url(xss.htc);',

    // C
    'chr(', 'chr=', 'chr ', ' chr', 'cmd=', ' cmd', 'cmd ', 'cp ', ' cp', 'cp(',
    'chmod(', 'chmod ', ' chmod', 'chmod(', 'chmod=', 'chown ', 'chgrp ', 'chown(', 'chgrp(',
    '/chgrp', '/chown', '.conf', 'config.php', 'cgi-', 'chunked', '.cmd', '.cgi', 'cgi',
    'create ', 'cc ', 'cat ', 'char ', 'cat=31337+union',
    
    // D
    '<div', 'diff ', 'db_mysql.inc', 'drop ', 'drop', 'delete ', 'delete', 'document.', 'dynsrc',
    
    // E
    'echr(', ' echr', 'echr ', 'echr=', 'echo', '_env', 'esystem(', 'esystem ', 'etc/', '/etc/password', '/etc/shadow',
    '/etc/groups', '/etc/gshadow', '.eml', '/etc/passwd', 'eval(', 'eval ', 'exec(', '.exe', '<emded', 'exec',
    'expression ',  'email@', 'expression(a', 'eval(a+b+c+d);',
    
    // F
    'fopen', 'fwrite', 'file\://', 'file\\://', 'ftp.exe', '~ftp', 'file%5c://', 'fromcharcode',
    
    // G
    'grep ', 'grep(', '$_get', '$get', ' getenv', 'getenv ', 'g\\+\\+', 'g\+\+', 'getenv', '_global', 'global_',
    'global[', '_globals', 'globals_', 'globals[', 'g%5c', 'g\\', '/groups', '/gshadow', 'goto=http', 'goto=',
    
    // H
    ' hack', 'http_', 'http_php', 'http_user_agent', 'http_host', 'http/1.', '.htpasswd', '.htaccess', '.history',
    'halt ', '=halt', '/home/ftp', '/home/www', 'http_', 'http request', 'http-equiv',
    
    // I
    'insert ', 'insert into', '&icq', '.inc.php', 'img src', '.inc', 'install.php', 'init ', '<iframe', '<img',
    'innerhtml', 'innerjoin', 'inner join', 'id ', 'include ', 'include=', 'index.php?error=<',

    // J
    'javascript\://', 'javascript:', 'javascript.', 'javascript\\://', '.jsp', '.js', 'jsessionid',
    
    // K
    'kill ', ' kill', 'kill', 'kill(', 'killall',
    
     // L
     'locate ', 'locate(', ' like', 'like ', 'like', 'lsof ', 'load ', 'ls ', 'level=',
    
    // M
    'mail ', 'mdir ', ' mdir', 'mdir(', 'mcd ', 'mrd ', ' mcd', ' mrd', 'mcd(', 'mrd(', 'mcd=', 'mrd=', 'mv ', 'mv(',
    'motd ', 'mod_gzip_status', '/modules', 'modules/', '/mod', 'mod/', '<meta', 'msdasql','msys', '/mail',
    'mocha:',        

    // N
    'nigga(', ' nigga', 'nigga ', 'nigga', 'new_password', 'nc.exe', '~nobody',
    
      // O
      'org.apache', 'onabort', 'onblur', 'onchange', 'onclick', 'ondblclick', 'ondragdrop', 'onerror',
    'onfocus', 'onkeydown', 'onkeypress', 'onload', 'onmouse', 'onmove', 'onreset', 'onresize', 'onselect', 'onsubmit',
    'onunload', 'onreadystatechange', 'objectclass', 'objectcategory', '<object', 'or ', 'openquery', 'openrowset', 'onkeyup',
    'order=', 'order',
    
      // P
      '/password', 'passwd ', ' passwd', 'passwd(', 'passwd', 'perl ', 'perl', 'ping ', '.pl', 'powerdown ', '/perl',
    '_php', 'php_', 'phpinfo()', 'phpadmin', 'passthru(', 'popen(', 'phpmyadmin', 'pwd ', 'phpinfo', 'php:',
    'phpb8b4f2a0', 
    
      // R
    'rush=', ' rush', 'rush ', 'rush', 'rm ', ' rm', 'rm(', 'rmdir ', 'rmdir(', '$_request', '$request', '_request',
    '~root', 'reboot ', '=reboot', '/robot.txt', 'root_path', 'Redirect 302 /a.jpg',
    
    // S
    'select ', 'select', '.system', 'servlet', 'server-info', 'server-status', 'secure_site', '/servlet/con',
    'select from', 'select from', 'sql=', '_server', 'server_', 'server[', '.system', 'system(', '.sh', 'setup.php',
    'sysobjects', 'syscolums', 'syslogins', 'sysxlogins','<script', '<script>','sqloledb', 'secure_site, ok', 'style ', 'shell',
    'scriptlet.', 'String.fromCharCode', 'says,', 'Set-Cookie', 'sid=<script', 'sid=http', 'sid=//',
            
    // T
    'telnet ', 'traceroute ', 'tracert ', '<textarea', 'total ', 
    
    // U
    '+UNION+', '/**/UNION', 'UNION/**/', 'union ', ' union', 'union', 'union(', 'union=', '/union', 'uname\\x20-a',
    'uname\x20-a', '/usr/bin/id', '/usr/bin', '/usr/x11r6/bin/xterm', 'update ', 'uname ',
    'url ', 'user_type', 'url=data:text/html;base64', 'URL=http://;URL=',

    // V
    'vi(', 'vi ', 'vbscript:', 'vbscript.', 'vbscript:msgbox',

    // W
    'wget ', ' wget', 'wget', 'wget(', 'window.open', 'wwwacl', 'www/',  

    // X
    'xp_enumdsn', 'xp_availablemedia', 'xp_filelist', 'xp_cmdshell', 'x5cx',  'xmlhttp', 'xp_filelist', 'xterm',

    
           // Z


    //special characters
    'iso-8859', 'iso-8859-1', 'iso-8859-15', 'utf-8', 'iso-',

    //special site
    'yahoo.', 'lycos.', 'fireball.', 'google.',

    //overall string
    'phpbb_root_path=http://'    

    //end
    );
Mit Zitat antworten
  #13 (permalink)  
Alt 23-08-2007, 15:58
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Hast du dir meinen Vorschlag mal angesehen?? Lass mal diesen Ansatz und den von Flip7 laufen und mies die Zeit. Denn wenn schon Regex, dann auch richtig und sparsam!
Mit Zitat antworten
  #14 (permalink)  
Alt 23-08-2007, 20:15
Nordin
 Registrierter Benutzer
Links : Onlinestatus : Nordin ist offline
Registriert seit: Aug 2005
Ort: DE / S-A
Beiträge: 415
Nordin befindet sich auf einem aufstrebenden Ast
Standard

Naja hatte ich ausprobiert.
Da kommt aber folgendes raus:
=msgdeletemsg;topic=119.0;m ist also nicht das was ich brauche
Mit Zitat antworten
  #15 (permalink)  
Alt 23-08-2007, 20:36
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Naja hatte ich ausprobiert.
Da kommt aber folgendes raus:
=msgdeletemsg;topic=119.0;m ist also nicht das was ich brauche
Darum habe ich bei geschrieben, das es ungetestet ist! Sollte ein Denkanstoß sein. Wenn du das Ganze entsprechend anpasst, wirst du auf jeden Fall eine schnellere Lösung als deine geschachtelten Regex haben!!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:32 Uhr.