php.ini .htaccess
Martin Hein
- php
0 Denise0 Mathias Brodala0 dedlfix
0 Johannes Zeller0 Martin Hein
hallo forum,
ich habe gerade über phpinfo() auf meinem kundenserver eine einstellung entdeckt, die auf meinem entwicklungssystem anders
ist:
magic_quotes_gpc Off
anstatt die scripte umzuprogrammieren, habe ich versucht über
ini_set() diese option zu ändern. ohne erfog ;( hab auch schon
rausgefunden, dass das nicht gehen kann, bin allerdings auch
auf einen tipp von wahsaga mit einem anderen ansatz gefallen:
"changeable: PHP_INI_PERDIR" -> .htaccess-datei im script-verzeichnis
nur will mir nicht klar werden, was konkret zu tun ist,
bzw. wie diese .htaccess-Datei aussieht.
kann mir jemand einen tipp geben ?
tausend danke und
beste gruesse,
martin hein
Hi,
kommst du an die INI ran oder bzw. nutzt du confixx ?
Densie
Hallo Martin.
ich habe gerade über phpinfo() auf meinem kundenserver eine einstellung entdeckt, die auf meinem entwicklungssystem anders
ist:magic_quotes_gpc Off
anstatt die scripte umzuprogrammieren, habe ich versucht über
ini_set() diese option zu ändern. ohne erfog ;( hab auch schon
rausgefunden, dass das nicht gehen kann, bin allerdings auch
auf einen tipp von wahsaga mit einem anderen ansatz gefallen:"changeable: PHP_INI_PERDIR" -> .htaccess-datei im script-verzeichnis
„PHP_INI_PERDIR“ bedeutet aber, dass du Einstellungen durch das Ablegen einer php.ini in einem Verzeichnis ändern kannst; das geht aber nur, wenn PHP über CGI betrieben wird.
Sollte es als Apache-Modul laufen, gäbe es noch die „php_flag“-Pseudodirektive:
php_flag magic_quotes_gpc Off
Dies wiederum gehört in die .htaccess-Datei.
(Des weiteren solltest du Archivpostings, auf die du dich beziehst, immer verlinken. Sonst weiß keiner wovon du sprichst.)
Einen schönen Montag noch.
Gruß, Mathias
echo $begrüßung;
„PHP_INI_PERDIR“ bedeutet aber, dass du Einstellungen durch das Ablegen einer php.ini in einem Verzeichnis ändern kannst; das geht aber nur, wenn PHP über CGI betrieben wird.
Sollte es als Apache-Modul laufen, gäbe es noch die „php_flag“-Pseudodirektive:
Man sollte noch erwähnen, dass die php.ini im CGI-Modus normalerweise ein vollständiger Ersatz der globalen php.ini ist. Die Einstellungen in einer Apache-Verzeichniskonfigurationsdatei (meist .htaccess) hingegen wirken ergänzend. Es genügt bei CGI also nicht, eine php.ini nur mit den zu verändernden Werten anzulegen. Stattdessen muss man schauen, was der Provider gegenüber der Default-Konfiguration geändert hat und diese Änderungen ebenfalls in der lokalen php.ini aufnehmen. Vor allem Pfadangaben zu PHP-.Extensions, sendmail, temporären Verzeichnissen und MySQL-Socket sollten beachtet werden.
echo "$verabschiedung $name";
Hallo Martin,
magic_quotes_gpc Off
anstatt die scripte umzuprogrammieren, habe ich versucht über
ini_set() diese option zu ändern. ohne erfog ;( hab auch schon
rausgefunden, dass das nicht gehen kann, bin allerdings auch
auf einen tipp von wahsaga mit einem anderen ansatz gefallen:
Ich kenne jetzt nicht deine konkrete Situation und weiß nicht, wie viele Scripte dafür geändert werden müssten. Auf Dauer solltest du aber überlegen, deine Scripte so abzuändern, dass Magic Quotes nicht mehr verwendet werden. Ab PHP 6 ist dieses "Feature" nicht nur standardmäßig deaktiviert sondern gar nicht mehr vorhanden.
Schöne Grüße,
Johannes
hallo johannes,
danke für den hinweis. das war mir nicht bewusst und es
scheint mir am sinnvollsten zu sein, dem nachzugehen.
meine situation:
----------------
selbstgestricktes cms mit tinymce: xhtml-content wird aus
ner mysql geholt und angezeigt/aus $_post in ne mysql-db
geschrieben. lesen/schreiben ist alles zentral in einer
getdbvalues.inc.php und einer writedbvalues.inc.php.
rueckversicherung:
------------------
magicquotes macht scheinbar nicht mehr als ein addslashes
der inhalte von $_post und ein stripslashes der inhalte
von was genau/bzw. wann genau?
danke für die tipps und
beste gruesse,
martin
und da ist er noch ein bisschen tiefer eingestiegen ;)
das problem scheint zu sein, die anwendung auf maschinen
mit magic_quotes und ohne gleichermassen zum laufen zu
kriegen. wenn ich das richtig verstanden habe, muss man
php erst fragen, ob die dinger 'on' oder'off' sind, weil
man sonst doppelt maskiert. 'fragen' kann man aber nur,
wenn ma n zugriff auf die php.ini hat ?
... und dann war da noch 'mysql_escape_string()'. kann
man das problem damit umgehen ?
beste gruesse,
martin hein
Hallo Martin.
und da ist er noch ein bisschen tiefer eingestiegen ;)
das problem scheint zu sein, die anwendung auf maschinen
mit magic_quotes und ohne gleichermassen zum laufen zu
kriegen. wenn ich das richtig verstanden habe, muss man
php erst fragen, ob die dinger 'on' oder'off' sind, weil
man sonst doppelt maskiert. 'fragen' kann man aber nur,
wenn ma n zugriff auf die php.ini hat ?
Nein, dafür gibt es eine spezielle Funktion.
... und dann war da noch 'mysql_escape_string()'. kann
man das problem damit umgehen ?
AFAIK sollte man unbedingt mysql_real_escape_string verwenden.
Einen schönen Montag noch.
Gruß, Mathias
echo $begrüßung;
das problem scheint zu sein, die anwendung auf maschinen mit magic_quotes und ohne gleichermassen zum laufen zu kriegen.
[...] dafür gibt es eine spezielle Funktion.
Auf der Handbuchseite Disabling Magic Quotes sind Vorgehensweisen für Umgebungen, die man selbst konfigurieren kann und auf die man keinen Einfluss hat aufgezeigt. Wenn man die Gegenmaßnahmen zu Magic Quotes im Script einbringen möchte, sollte man das mit dem dort angeführten Beispiel generell am Scriptanfang machen und nicht quer übers Script verteilen.
... und dann war da noch 'mysql_escape_string()'. kann man das problem damit umgehen ?
AFAIK sollte man unbedingt mysql_real_escape_string verwenden.
Unbedingt nun auch wieder nicht, denn der Unterschied zwischen beiden Funktionen kommt erst bei hierzulande nicht üblichen (asiatischen) Kodierungen zum tragen. Für ISO-8859-x und UTF-8 sind beide Funktionen gleichermaßen geeignet. Und wenn dann noch SET NAMES ins Spiel kommt, ist der Unterschied von mysql_real_escape_string() gegenüber mysql_escape_string(), das verbindungskodierungsabhängige Maskieren, sowieso nicht mehr gegeben.
echo "$verabschiedung $name";
hallo forum,
danke für die antworten.
mir scheint der erste tipp von johannes zeller der sinnvollste
zu sein. darum werde ich dem nachgehen und mein script
dahingehend umschreiben, dass ich auf das feature verzichte.
danke und
beste gruesse,
martin hein