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 Thema bewerten
  #1 (permalink)  
Alt 09-05-2007, 15:05
sph
 Newbie
Links : Onlinestatus : sph ist offline
Registriert seit: May 2007
Beiträge: 21
sph ist zur Zeit noch ein unbeschriebenes Blatt
Standard textarea-eingabe erzeugt fehler

hallo community!

ich beschäftige mich seit kurzem mit php und bin nun auf ein problem gestoßen zu dem ich keine hilfe finden konnte. ich versuche eine php-basierte, kleine, simple webseite zu basteln auf der man mittels admin-oberfläche den inhalt bestimmter dateien im webbrowser ändern kann.

das script funktioniert für meine zwecke völlig ausreichend, jedoch führt die eingabe einer ganz bestimmten zeichenkette zu einer fehlermeldung - und ich weiß nicht warum.

zunächst - ein paar codeschnipsel. um es übersichtlich zu halten verwende ich getrennte php- und html-bereiche. ich war so frei unwichtige angaben zu kürzen

- die eingabemaske in html:
Code:
<?php 
include('editor.php'); 
?>

<form action="<?php echo $PHP_SELF;?>" method="get">
<p><a href="admin.php?action=edit&file=file1">file 1</a></p>
<p><a href="admin.php?action=edit&file=file2">file 2</a></p>
</form>

<form action="<?php echo $PHP_SELF;?>" method="post">
<p><textarea cols="50" rows="10" name="editor"><?php echo $source ;?></textarea></p>
<p><?php echo $button ;?></p>
</form>

- die zugehörige 'editor.php':
PHP-Code:
<?php
if (empty($_GET["file"])) {
  
$source "please choose a file to edit...";
  
$button "";}
else {
  
$file $_GET["file"];
  
    if (
$file == "file1") {
      
$path "file1.htm";
      
$source file_get_contents($path);
      
$button "<input type=\"submit\" class=\"submit\" name=\"save\" value=\"save\">";}
    else if (
$file == "file2") {
      
$path "file2.htm";
      
$source file_get_contents($path);
      
$button "<input type=\"submit\" class=\"submit\" name=\"save\" value=\"save\">";}      
    else {
      
$path "";
      
$source "please choose a file to edit...";
      
$button "";}
}
      
if (isset(
$_POST["save"])){
  
$content $_POST["editor"];
  
$tmpfile "edited_file.tmp";
  
$newfile fopen($tmpfile,"wb");
  
chmod($tmpfile0777);
  
fwrite($newfile,$content);
  
fclose($newfile);
  
unlink($path);
  
rename($tmpfile,$path);
  
$source "file saved!";
  
$button "";} 
?>

... damit kann ich also nun die dateien 'file1.htm' und 'file2.htm' wunderbar bearbeiten, doch sobald in der textarea die zeichenfolge ".tmp" (ohne anführungsstriche) vorkommt erhalte ich beim versuch die eingabe zu speichern folgende rückmeldung:

Zitat:
Zugriff verweigert!

Der Zugriff auf das angeforderte Objekt ist nicht möglich. Entweder kann es vom Server nicht gelesen werden oder es ist zugriffsgeschützt.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
im übrigen ist es egal welche zeichen direkt nach den genannten getippt werden - sobald die eingabe in dieser form irgendwo im textfeld auftaucht führt ein speichern zum fehler. und schon ein leerzeichen reicht völlig um dieses problem zu umgehen.


zwar ist in meinem fall äusserst unwarscheinlich dass der benutzer (ich bzw. bekannte denen man das ja problemlos mitteilen kann) ausgerechnet das eingeben möchte, aber mir geht es eher darum zu verstehen was da passiert - und vor allem warum.

noch besser wäre natürlich ein lösungsvorschlag, damit soetwas garnicht erst passieren kann.


im übrigen würde ich mich auch für (angebrachte) kritik, meinungen, gedanken dazu freuen - doch bitte nicht vergessen dass ich keine große webapplikation coden möchte, sondernd lediglich ein auf die bedürfnisse des anwenders zugeschnittenes feature

danke fürs lesen & für die hoffentlich folgenden, klärenden antworten,

grüße,

sph
Mit Zitat antworten
  #2 (permalink)  
Alt 09-05-2007, 15:23
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

habe deinen code mal getestet. bei mir läufts einwandfrei.


gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 09-05-2007, 15:24
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mod_security?
Mit Zitat antworten
  #4 (permalink)  
Alt 09-05-2007, 18:17
DaGuertliz
 Registrierter Benutzer
Links : Onlinestatus : DaGuertliz ist offline
Registriert seit: Nov 2003
Ort: Kiel
Beiträge: 304
DaGuertliz ist zur Zeit noch ein unbeschriebenes Blatt
DaGuertliz eine Nachricht über ICQ schicken
Standard

Ist nicht Dein eigener Server, oder ?
Schildere die Problematik mal Deinem Hoster ´- vielleicht kann der das in den Kontext seines Systems einordnen ...
__________________
Yeah !
Mit Zitat antworten
  #5 (permalink)  
Alt 09-05-2007, 23:19
sph
 Newbie
Links : Onlinestatus : sph ist offline
Registriert seit: May 2007
Beiträge: 21
sph ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von DaGuertliz
Ist nicht Dein eigener Server, oder ? [...]
a-ha!

nein, ist es nicht. ein freund ist so nett mir etwas platz auf seinem root zur verfügung zu stellen.

also - kein scriptfehler sondernd konfigurationssache? immerhin komm ich mir nichtmehr so doof vor und das große fragezeichen über meinem kopf wird kleiner


Zitat:
Original geschrieben von ghostgambler
mod_security?
ginge das vielleicht etwas genauer/ausführlicher? oder mit link?

natürlich könnte ich versuchen das zu verstehen, mich einlesen, texte übersetzen, how-tos abgrasen etc. aber scheinbar weißt du ja was gemeint ist und mir hilft eine simpel gehaltene erklärung in eigenen worten weit mehr als schwerverständliche dokumentationen. wenn ich das prinzip verstanden habe fällt mir eine genauere auseinandersetzung damit auch wesentlich leichter.


eine frage noch: wäre es ohne größeren aufwand zu bewerkstelligen den textarea-inhalt ($content) auf das vorkommen dieser zeichenfolge zu durchsuchen und diese durch zb. . tmp (mit leerzeichen) zu ersetzen? oder besser gefragt: wie?

oder, weitergedacht: sofern es sich dabei um eine server-einstellung handelt (ich denke da an dieses mir schleierhafte 'mod_security') - wie könnte man das script so abändern dass beim auftreten des fehlers (ich hab das bisher zwar nur bei '.tmp' festgestellt aber natürlich längst nicht alle kombinationen getestet ) die auslösende zeichenkette (sofern aufspürbar) in etwas unproblematisches geändert wird?

also etwa nach diesem schema:

#
wenn save-button gedrückt und rückmeldung = fehler
>>dann suche problematische textstelle(n)
>>und ändere problematische textstelle(n) zu etwas verwertbarem
>>und speichere dann erst das dokument
andernfalls speichere das dokument
#


... wunschdenken eines php-laien, vermute ich - oder aber ein mammutscript. aber fragen darf man wohl


danke für euere antworten!

sph
Mit Zitat antworten
  #6 (permalink)  
Alt 09-05-2007, 23:23
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
eine frage noch: wäre es ohne größeren aufwand zu bewerkstelligen den textarea-inhalt ($content) auf das vorkommen dieser zeichenfolge zu durchsuchen und diese durch zb. .tmp (mit leerzeichen) zu ersetzen? oder besser gefragt: wie?
PHP-Code:
$editor str_replace ('.tmp','.tmp  '$_POST['editor']); 
EDIT:
hab was übersehen

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite

Geändert von Kropff (10-05-2007 um 12:03 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 10-05-2007, 16:45
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mod_security untersucht einen Request nach Auffälligkeiten/Fehlern - wenn etwas gefunden wird, wird der Request einfach fallen gelassen.
Sollte es also wirklich daran liegen, kannst du an deinem Skript ändern was du willst, das kriegst du so nicht weg, dafür muss man die Regeln von mod_security entschärfen
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

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:24 Uhr.