Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Offtopic > Gesuche > Anwendung, die nicht initialisierte Variablen in Dateien aufspürt
Antwort
 
Themen-Optionen
Alt 14.12.2006, 16:07   Nach oben    #1
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard Anwendung, die nicht initialisierte Variablen in Dateien aufspürt

Hallo,
ich soll eine Anwendung, welche noch mit register_globals on läuft insoweit aktualisieren, dass diese auch mit deaktiverter Einstellung register_globals lauffähig ist.

Ich denke mir nun .. vielleicht gibt es ja eine Anwendung, die automatisch über ein Verzeichnis läuft und testen kann, ob dort nicht initialisierte Variablen enthalten sind oder so.
Eclipse zeigt das auch an, aber ich habe keine Lust hunderte von Dateien durchzukramen .. wenn es denn nicht sein muss.

Also vielleicht kennt jemand solch ein Tool?

Danke,
Grüße, Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 16:10   Nach oben    #2
Erfahrener Benutzer
 
Benutzerbild von Chr!s
 
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
Standard

Hm Zend kann sowas, ich weiß aber nicht ob du auch Zend benutzt .. Dort kann (ich glaube mit Strg + Shift + A) eine Analyse durchgeführt werden welche dann unter anderem solche Variablen anzeigt ..
__________________
http://www.ChrisDiary.De
Chr!s ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 16:24   Nach oben    #3
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

Argh. Habe ich nicht und die Skripte kann ich nicht zur Verfügung stellen, weil ich in einem Unternehmen arbeite .. und da kann ich logischerweise nicht einfach den Code klauen ..


[PS]
Also als Übergangslösung werde ich jetzt jede aufrufende Datei erst mal mit einem error_reporting(E_ALL); bestücken. Hm, nunja ..

Geändert von Ben (14.12.2006 um 16:31 Uhr).
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 19:38   Nach oben    #4
Projektleiter
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.225
Standard

Zitat:
Zitat von Ben Beitrag anzeigen
Also als Übergangslösung werde ich jetzt jede aufrufende Datei erst mal mit einem error_reporting(E_ALL); bestücken. Hm, nunja ..
ggf. lässt sich wenigstens dieser Schritt automatisieren?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 20:02   Nach oben    #5
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

Na ich schreib mir da nichts .. .
Habe mich auch dazu entschlossen das händisch zu machen. So lerne ich die Anwendung besser kennen.

Wenn jemand so etwas kennt, dann danke ich trotzdem für einen Link o.Ä.

Grüße, Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 20:09   Nach oben    #6
Benutzer
 
Registriert seit: 24.10.2006
Beiträge: 90
Standard

Hab auf der Zugfahrt ein kleines Script geschrieben (10min )

PHP-Code:
$variables   = array ();
$fileContent file_get_contents ("/home/tom/public_html/tmp/test.php");

preg_match_all ("~\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*~"$fileContent$variables);

$variables array_unique ($variables[0]);

foreach (
$variables as $variable) {
    
    
$pos stripos ($fileContent$variable);
    
$firstVarOccurence substr ($fileContent$pos) . "\n\n";
    
    if (!
preg_match ("~^\\$variable *= *[^=]~"$firstVarOccurence)) {
        
$line strlen preg_replace ("~[^\n]~"""substr ($fileContent0$pos)) ) + 1;
        echo 
"Die Variable \"$variable\" in der Zeile $line wurde nicht initialisiert\n";
    }

Es sollte eigentlich alle nicht initialisierten Variablen in einer Datei finden. Allerdings werden auch Parameter bei Funktionen oder Variablen die z.B. in einer include Datei initialisiert wurden als nicht initialisiert erkannt.

Naja, aber das lässt sich relativ einfach ändern.

MfG Byrel
Byrel ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 21:35   Nach oben    #7
Erfahrener Benutzer
 
Registriert seit: 30.10.2005
Beiträge: 274
Standard

Zitat:
Argh. Habe ich nicht und die Skripte kann ich nicht zur Verfügung stellen, weil ich in einem Unternehmen arbeite .. und da kann ich logischerweise nicht einfach den Code klauen ..
Haha lol, das kenn ich so gehts mir auch! Schaff auch an einer Anwendung mit Register Globals = on. Leider wissen die Erbauer dieses Scripts nicht wirklich was es mit Register Globals auf sich hat (!). Da ich aber weiß was megariesigen Haufen an Arbeit auf mich zu kommen würde schieb ich das auch vor mich her und bezeichne dieses TODO nicht als besonders wichtig

Das mit dem error reporting E_ALL wäre wohl ne gute Sache, allerdings bei einem Problem kämen erstmal 100 andere Warnungen bevor mal die erste Warnung mit Bezug auf register_globals käme.

Das wohl schlimmere Prob das wohl auf mich zukommen wird ist die zentralsierte Speicherung der Mwst, die per Rechnungstimestamp ermittelt wird. Gnade mir Gott, hoffentlich hält das.
ex³ ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.12.2006, 21:50   Nach oben    #8
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
Standard

Na, bei mir ist der Sachverhalt so, dass ich die Anwendung eh noch nicht kenne, demnach ist das Durchforsten nicht nur negativ anzusehen.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


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

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 Aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:56 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44