ラウンジ発言の一部訂正or削除の方法

[上に] [前に] [次に]
ラジオ 1999/12/18(土) 21:21:10
ラウンジを使わせていただいています。
二回連続で書きこんだ時や、ひとつの解答だけを
削除したいのです。
txtファイルをローカルに落としてきてテキストエディタで修正して
アップロードしようとすると、”アップロードできませんでした”
となり書き換えができませんでした。
属性は
lng 755
 wwwlng 755
   199912 755
    1991200001.txt 666
になっていました。
Windowsで使っているFTPソフトはFFFTPです。
どうすればアップロードできるのでしょうか?
よろしくお願いします。

1999/12/18(土) 23:13:19
たぶんユーザー、グループがnobodyになってるから、
サーバー側の書き換えたいファイル一回消してから
アップロードすればいいと思う。

ラジオ 1999/12/19(日) 00:53:50
1991200001.txtの所有者というところは
nobodyになっていました。
FFFTPで削除をしても消すことができなかったのですが
管理機能を使って消すことができました。
そして消した上で修正した1991200001.txtをアップロード
したのですが、また”アップロードできません”
となってしまいました。
どうすればよろしいのでしょうか?

Aurai [E-Mail] 1999/12/19(日) 04:25:57
ディレクトリがnobodyのせいでしょうか
こんな内容のスクリプトを使ってみるとか

if ($ENV{'REQUEST_METHOD'} eq 'POST') {
  require 'jcode.pl';
  read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'});
  @a = split(/&/, $query_string);
  foreach $x (@a) {
    ($name, $value) = split(/=/, $x);
    $value =~ tr/+/ /;
    $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg;
    $value =~ s/(\x0d\x0a|\x0d)/\x0a/g;
    &jcode'convert(*value,'sjis');
    $FORM{$name} = $value;
  }
}
if ($FORM{'ACTION'} eq 'WRITE') {
  open(OUT,"> $FORM{'FILENAME'}");
  print OUT $FORM{'CONTENT'};
  close(OUT);
  $mes = "\"$FORM{'FILENAME'}\" に書き込みました。"
} elsif($FORM{'ACTION'} eq 'READ') {
  open(IN,"$FORM{'FILENAME'}");
  @lines = <IN>;
  close(IN);
  $FORM{'CONTENT'} = join('',@lines);
  $mes = "\"$FORM{'FILENAME'}\" を読み込みました。"
}
$FORM{'CONTENT'} =~ s/&/&amp;/g;
$FORM{'CONTENT'} =~ s/"/&quot;/g;
$FORM{'CONTENT'} =~ s/</&lt;/g;
$FORM{'CONTENT'} =~ s/>/&gt;/g;
$FORM{'FILENAME'} =~ s/&/&amp;/g;
$FORM{'FILENAME'} =~ s/"/&quot;/g;
$FORM{'FILENAME'} =~ s/</&lt;/g;
$FORM{'FILENAME'} =~ s/>/&gt;/g;
print "Content-type: text/html\n\n";
print "<html><head><title>FILEUPLOAD</title></head><body>\n";
print "$mes<br><br>\n";
print "<form method=\"POST\">";
print "ACTION:<br><input type=\"radio\" name=\"ACTION\" value=\"READ\" checked>READ <input type=\"radio\" name=\"ACTION\" value=\"WRITE\">WRITE<br><br>\n";
print "FILENAME:<br><input type=\"text\" name=\"FILENAME\" value=\"$FORM{'FILENAME'}\" size=80><input type=\"submit\" value=\"SUBMIT\"><br><br>\n";
print "CONTENT:<br><textarea name=\"CONTENT\" cols=120 rows=24>$FORM{'CONTENT'}</textarea><br>\n";
print "</form></body></html>";

ラジオ 1999/12/19(日) 13:58:23
Auraiさん
このスクリプトを
#!/usr/local/bin/perl
の後にそのまま書いて使ってみました。
表示は正しくできたと思います。
FILE NAME に
http://www.xxx.ne.jp/yyy/lng/wwwlng/199912/99120xxx.txt
と入れて直したい内容をCONTENT:に書いて
submitを押しました。

"http://www.xxx.ne.jp/yyy/lng/wwwlng/199912/99120xxx.txt
"を書き込みました。

となり、書き換えたのかなと思い、実際にファイルを見てみると
元の状態と変わりませんでした。
スクリプトは動いているようなのですが、ファイルの指定が
間違っているのでしょうか?

#FTPで直接ファイル操作ではできないのでしょうか?

Aurai [E-Mail] 1999/12/19(日) 23:30:35
ファイル名はURLではなくサーバ上のパスで記述をしてください
wwwlng.cgiと上のスクリプトを同じディレクトリに入れた場合
http://www.xxx.ne.jp/yyy/lng/wwwlng/199912/99120xxx.txt
は「wwwlng/199912/99120xxx.txt」です
ローカルテストを十分に行った方がよろしいかと

サイズ0のファイルを元から用意しておくことで回避できるかもしれないですね
ラウンジのスクリプトの修正が必要ですが

ラジオ 1999/12/20(月) 17:51:55
[[解決]]
Auraiさんのスクリプトを使ってできました。
管理者機能を使って修正したいファイルを削除し、
その後Auraiさんのスクリプトを使うことによって
修正したtxtファイルの内容でアップロードしてできました。
ありがとうございました。

ただ”ファイルサイズ0”は理解できませんでした。
あとどうしてアップロードができないのかというのも
わかりませんでしたが、修正ができるようになったので
解決押させていただきます。

ラジオ 1999/12/22(水) 22:18:27
解決したのですがどうしても気になっているので。

とほほさんや他にラウンジのスクリプトを使っている
管理人の方々に聞いてみたいのです。
不適切な書きこみを削除するという作業は
管理人でしたら、できたほうがいいと思うのです。
やはりこのようなスクリプトを用いて修正しているのでしょうか?
セキュリティー上教えられないのでしたらそれはそれで結構です。

じゅら [E-Mail] [HomePage] 1999/12/23(木) 22:28:19
割り込み失礼いたします。
私もラウンジをお借りしております。

ひとつの話題の中のひとつの発言だけを削除及び修正などが
できるととても助かります。
教えていただけると嬉しいです。
お願い致します。

ぼいす 2000/01/19(水) 19:27:37
Aureiさんが上に書かれているCGIスクリプトの、
パーミッションはいくつにすればいいのでしょうか。
教えてください。
また、他にラウンジの各ファイルの修正方法をご存知の方がいらっしゃたら、教えてください。
ラウンジを使わせていただいたおかげでサイトの人気が出て来て、書き込みが増えて来たため、修正方法を知らないと、円滑にサイトが運営できないのです。
よろしくお願いしますm(_ _)m

ラジオ 2000/01/20(木) 08:50:03
私は現在 Aureiさんのスクリプトで修正していますよ。
パーミッションは755で動いています。

[上に] [前に] [次に]