最初に読んでね ダウンロード 検索 ユーザー登録する 連絡 マイストア ログイン  
このトピックはロックされているので記事編集または返信投稿はできません ゲストも削除できるようにしたいのですが… このエントリーを含むはてなブックマーク
ゲストも削除できるようにしたいのですが…
sinfield
投稿入門者さん
投稿入門者さん

登録日: 2007.10.02
記事: 2
引用付きで返信する
はじめまして、質問させてください。

phpBB パッケージ:phpBB日本語版 UTF-8 i18n Edition
本体バージョン:phpBB2.0.22 for Multibyte Character UTF-8 i18n Edition
MOD インストール :はい
インストール済み MOD(s):RSS Feed

質問者の phpBB レベル:カスタマイズ成功
phpBB URL:
レンタルサーバー URL:ロリポップ
PHP バージョン:
データベースバージョン:

ゲストが書き込んだ書き込みを、ゲスト自身が削除できるようにしたいのです。
もちろん、パーミッションの設定で、編集や削除を「すべて」にすれば、ゲストの方でも削除できることは知っています。
しかし、これだと、ユーザー登録せずに書き込んだ人の投稿は、誰でも削除できることになってしまい、困ります。

ゲストの書き込みを、ゲストで書き込んだ本人のみが削除できるようにする方法はないでしょうか?

例えば、書き込み時のIPアドレスと、phpBBを表示しているIPアドレスが一致した場合、
書き込んだ本人だと判断できますよね。
そのようにIPアドレスを比較した上で、一致した場合のみ、削除や編集のアイコンを表示するようにしたいのですが。。。
プログラムをどういじればよいのでしょうか。viewtopic.phpの1083行目あたりだということは分かるのですが。。。

識者のかた、お願いいたします。
ユーザーのプロフィールを表示sinfield の記事をすべて検索プライベートメッセージを送信
バリュードメイン
Re: ゲストも削除できるようにしたいのですが…
ocean
常連さん♪
常連さん♪

登録日: 2006.02.26
記事: 136
引用付きで返信する
sinfield の記述を引用:
例えば、書き込み時のIPアドレスと、phpBBを表示しているIPアドレスが一致した場合、
書き込んだ本人だと判断できますよね。
そのようにIPアドレスを比較した上で、一致した場合のみ、削除や編集のアイコンを表示するようにしたいのですが。。。

ほとんどのプロバイダでは、IPアドレスは静的ではなく動的(IPマスカレード、NATなど。)だと思うので、IPアドレスだけでは書き込んだ本人を特定するのは不可能だと思います(プロバイダが保管してある書き込んだ時間とIPアドレスのリストを基に、書き込んだ本人の住所を特定することは可能でしょうが、それができるのは警察くらいでしょう)。
sinfield の記述を引用:
プログラムをどういじればよいのでしょうか。

cookie を使用すれば実現できると思います。
ユーザーのプロフィールを表示ocean の記事をすべて検索プライベートメッセージを送信投稿者のウェブサイトに移動
sinfield
投稿入門者さん
投稿入門者さん

登録日: 2007.10.02
記事: 2
引用付きで返信する
oceanさん、ご教示いただきありがとうございます。

Cookieということですが、cookieを発行して記録するのは出来るのですが、そのCookieと記事の投稿者が一致しているかどうかを知るためには、phpBBのデータベースの方にもその情報を登録しなければいけないように思います。
そうなるとデータベースの形式をいじらなくてはならないように思うのですが。。。
もし、何か良いCookieの使い方をご存知の方がいらっしゃいましたらご教示頂ければ幸いです。
ユーザーのプロフィールを表示sinfield の記事をすべて検索プライベートメッセージを送信
ocean
常連さん♪
常連さん♪

登録日: 2006.02.26
記事: 136
引用付きで返信する
sinfield の記述を引用:
Cookieということですが、cookieを発行して記録するのは出来るのですが、そのCookieと記事の投稿者が一致しているかどうかを知るためには、phpBBのデータベースの方にもその情報を登録しなければいけないように思います。

例えばこれは簡単な例ですが、記事を投稿する際に
コード:
setcookie("delete_post_id", $post_id, time()+3600);  /* 有効期限は一時間です */

を実行し、
記事を表示、削除する際に
コード:
$_COOKIE['delete_post_id']

の値を利用すれば、別にデータベースをいじる必要はないですよね?

それとも、sinfield さんの言う「ゲスト」「投稿者」っていうのは、パソコン(のブラウザ)じゃなくて人間を意味しているんでしょうか?記事を投稿する際に削除キーワードを設定させ、削除するのにその削除キーワードを入力させるような?だとしたら確かにそのキーワードを保存しておくためにデータベースをいじる必要があるでしょうが、人間を特定させている時点で cookie を利用する事自体がすでに間違っている(そもそも必要ない)気がします。cookie というのはあくまでパソコンを特定するためのものですから。

ゲストを「何」で特定するかがまず先決のような気がします。
1.IPアドレスとブラウザの種類(HTTPユーザーエージェント)
2.cookie または session
3.パスワード、キーワード
データベースをいじりたくないのであれば1か2でしょうね。
ユーザーのプロフィールを表示ocean の記事をすべて検索プライベートメッセージを送信投稿者のウェブサイトに移動
ゲストも削除できるようにしたいのですが…
新規投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
投票参加: 不可
添付アップロード: 不可
添付ダウンロード: 不可
All times are GMT + 9 Hours (JST)  
Page 1 of 1  

  
  
 このトピックはロックされているので記事編集または返信投稿はできません    

Board Security

3143 Attacks blocked

Powered by phpBB © phpBB Group
Design by phpBBStyles.com | Styles Database.
Traduction par : PHPBB JAPAN / UTF-8 i18n Edition : JP Support Forum
Content © phpBB2 日本語サポートフォーラム
[ Debug on | page generation = 0.19446 seconds | sql queries = 19 ]
Feed RSS 2.0
JP Support Forum
SourceForge.jp