• ベストアンサー

メンテナンスしやすいWeb仕様

シンプルな掲示板(管理者がユーザーの投稿内容を認証して掲示)を サーバに搭載しようと思っています。 掲示板ということは、内容を保存しないといけないのですが、 メンテナンス・サーバ移行を簡単にしたいとなると、 DB(MYSQL?)とファイルをDirに保存するのと、 どちらがいいのでしょうか? できるだけ知識のない人がメンテナンスできるようにしたいです。

  • ENTRE
  • お礼率0% (16/2523)
  • PHP
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5083/13282)
回答No.2

知識が無い人がメンテするならファイルでしょう。 DBだとバックアップやレストアが出来る知識が必要になりますが、ファイルならFTPでコピーするだけで済みます。

その他の回答 (1)

  • hwoa1024
  • ベストアンサー率36% (122/336)
回答No.1

SQLiteを使えば、DBをファイルとして保存してくれるので 比較的メンテはしやすくなるかなと思います。 ただ、結局はファイルを指定通りのパスにおいたりしないといけないので、 mysqlやpostgresのバックアップ、リストアができないレベルの知識の方が、 上手くメンテできるとは残念ながら思えませんが・・・。

関連するQ&A

  • yomi php版を別のサーバーに移行すると文字化けする

    こんにちは。 YomiサーチのPHP版を利用していて、 別のサーバーにデーターごと移動しようとしているのですが、 文字化けに悩まされています。 移行前 http://dir.rentub.com/db.php/dir_1_01/ 移行予定先 http://dir2.rentub.com/db.php/dir_1_01/ なぜか、タイトル部分や、カテゴリ名の日本語の部分だけが文字化けしてしまいます。 一度、データーベースのバックアップを取り、 そのバックアップしたファイルを別のサーバーでそのまま復元させるという方法を取りました。 2つのサーバーの phpとMySQLのバージョンが違うのですが、 もしかするとこれが影響しているのでしょうか? 移行前のサーバー php 4.4.4 MySQL 4.0.27 移行予定のサーバー php 5.2.5 MySQL 5.1.22 アドバイスを頂ければと思います。 それでは宜しくお願いいたします。

    • 締切済み
    • CGI
  • データベースと連動したベーシック認証

    はじめまして。よろしくお願いしますm(_ _)m ベーシック認証でmysqlと連動した認証を行いたいのですが、方法がわかりません。 調べてみると、モジュール?をインストールするとmysqlなどのデータベースと連動したものが使えるらしいのですが、レンタルサーバー等でもそれは可能なのでしょうか?(一応phpとmysqlが使えるサーバーです) やりたいのはフリーの掲示板cgiに認証を掛けて登録ユーザーしか観覧、書き込みができないようにしたいです。その際、ユーザーIDやパスワードは個別に設定したいのですが、ベーシック認証でこれは可能でしょうか? あまりプログラムの知識がないので、漠然としたイメージしか伝えられませんが、何かアドバイスありましたらお助け下さいm(_ _)m

    • ベストアンサー
    • PHP
  • PHP+mySQL認証画面

    サーバーの引っ越しで新しいサーバーにてプログラムの動作確認を行っています。 管理者パネルに入るのに、PHPで作成した認証プログラムでログインしようとすると、入力しても何度も聞いてきて入れません。 旧 MySQL5.0.22   phpMyAdmin2.8.2.4 新 MySQL5.1.69 phpMyAdmin3.5.8.1  IDとパスワードはデータベースで設定。 管理者パネルで変更できるようになっている。 $sv = "**"; $dbname = "**"; $user = "**"; $pass = "**"; ログイン認証 //データベースに接続する $conn = mysql_connect($sv,$user,$pass) or die("接続エラー"); mysql_select_db($dbname) or die("データーベース接続エラー"); $sql = "SELECT id, pass FROM pass_t WHERE pno=1"; $res = mysql_query($sql, $conn) or die("データ抽出エラー"); while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { $db_user_id=$row['id']; $db_password=$row['pass']; } if(!isset($_SERVER["PHP_AUTH_USER"]) || $_SERVER["PHP_AUTH_USER"] != "$db_user_id" || $_SERVER["PHP_AUTH_PW"] != "$db_password") { header("WWW-Authenticate: Basic realm=\"login\""); header('HTTP/1.0 401 Unauthorized'); echo "ユーザー名またはパスワードが間違っています。<br>"; echo "もう一度はじめからやり直してください。"; exit; } 細々変えて試してみましたが駄目でした。 まだまだわからないことだらけの初心者なので、どうにもならずで 解決策がありましたらぜひ教えて頂けますと幸いです。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • Windows、Apache、PHP、MySQLを使ったwebアプリケーションのエラー

    widows環境でMySQLで作ったデータベースをApache+PHPでwebページで見れるようにしたいと思い、 http://www.yamada-lab.org/doc/win/mysql5/4/0401.html#a2 このページの通りに進めていました (データベースの内容は少し変更しました) しかし、いざページを開いてみると 「Parse error: syntax error, unexpected T_STRING in C:\test\connect01.php on line 8」 とでてきて、うまく表示されません。 syntax errorなので、文法ミスだとは思いますが、どこが違うかがわからないので、どなたか教えてください。 使用しているPCは   OS:Windows XP professional MySQL:5.1.38 PHP:5.2.10 apache:2.2.13 です。 --以下、connect01.phpの中身の途中まで-- <html> <head> <title>connect.php</title> </head> <body> <?php  //データベースサーバ名の設定  $db_host  = "localhost";  //ユーザ名の設定  $db_user  = "webapl";  //パスワードの設定  $db_passwd = "pass1234";  //データベースサーバへの接続  $db = mysql_connect($db_host,$db_user,$db_passwd); ---- エラーが出ているのは、「 $db_host  = "localhost";」の行ですが、 サーバー名、ユーザー名、パスワードに関する3項目を消し、 データベースサーバへの接続を $db = mysql_connect(localhost,webapl,pass1234); と書きかえても、この行でエラーが出ていました。

    • ベストアンサー
    • PHP
  • ASP.NETでのユーザー認証方法

    MySQLとMicrosoft ASPのどちらのカテゴリがいいか判断つかなかったので、とりあえずこちらで質問させていただきます。 MySQL & ASP.NETでWebアプリケーションを構築しようとしています。 アカウント認証によりアクセス制限を行いたいのですが、アカウント情報(ID・パスワード)の管理をどのようにするのがセオリーなんでしょうか? 普段、WindowsアプリケーションでMySQLを使用する場合はユーザーアカウントを管理するテーブルを作成し、マッチするレコードの有無で認証しています。MySQLユーザーはそのWindowsアプリケーション用の1ユーザーです(GRANT ALLではありませんが、ほぼそれに近いです)。 文章での説明が難しいですが、つまり、mysql.userテーブルに登録するユーザーはアプリケーションの代表ユーザー1つのみで、ログオンユーザーごとの制御はアカウント管理テーブルを参照しながらプログラムで行っています。 社内用(LAN内限定)のシステムであれば、上記方法でもセキュリティ的な問題は少ないと思うのですが、Webアプリケーション(外部公開)となると、上記方法ではセキュリティ的に甘いかなと思いました。 アカウント管理はプログラム任せではなく、mysql.userテーブルやmysql.dbテーブルなどで管理するべきなんでしょうか? もちろんアカウント管理テーブルを作成する場合は、パスワードは暗号化して保存するつもりです。 この説明で私の質問の意図が分かっていただけるか自身ありませんが、Webアプリケーションのアカウント認証及びアクセス制限に関して、セオリー的なものを教えていただきたい次第であります。 どうぞ宜しくお願いします。

  • データの移行について

    いつもお世話になっております。 MySQLのデータに移行について質問させていただきます。 サーバの移転に伴い、データベースも移行することになりました。 MySQLの文字コードが変わっているため、新しいサーバで文字化けを 起こしてしまいます。 1)データのダンプ   $ mysqldump --user=root --password --default-character-set=latin1 DB名 > dump.sql 2)新しいサーバで文字コード変換   $ perl -pi -e 's/utf-8/latin1/' dump.sql 3)インポート   $ mysql --user=root --password DB名 < dump.sql 上記の方法で問題がありますでしょうか。 ご教示よろしくお願いいたします。 <旧サーバ>  MySQL:3.23.58  文字コード:euc-jp <新サーバ>  MySQL:5.0.45  文字コード:utf-8

  • SQL SERVER 2005のメンテナンスプラン実行エラーについて教えてください

    SQL SERVER 2005にてメンテナンスプランよりデータベースバックアップ(完全)を作成し実行をさせるとエラーとなってしまいます。 SQL SERVER エージェントの履歴を見ると下記の内容が表示されていました。 【SQL SERVER エージェントの履歴】 「10/21/2009 15:33:22,DBバックアップ.Subplan_1,エラー,0,SERVER02,DBバックアップ.Subplan_1,(ジョブの結果),,ジョブは失敗しました。 ジョブは ユーザー SERVER02\Administrator によって起動されました。最終実行ステップはステップ 1 (Subplan_1) でした。.,00:00:00,0,0,,,,0 10/21/2009 15:33:22,DBバックアップ.Subplan_1,エラー,1,SERVER02,DBバックアップ.Subplan_1,Subplan_1,,ステップ 1 の実行を開始できません (理由: 行 (1): 構文エラー). ステップは失敗しました。,00:00:00,0,0,,,,0」 他のサーバーで同じようにメンテナンスプランを作成し実行しても問題がありません。(SQL SERVER 2005のバージョン:9.0.3042) 実行エラーを起こすサーバーはディスク障害を起こし復旧後にSQLを再インストールしています。(SQL SERVER 2005のバージョン:9.0.1399) どのようにすれば正常に実行されるのでしょうか? 見づらい内容で申し訳ありませんが、ご教授の程よろしくお願い致します。

  • ARCserve データベースの移動

    C:(システム)ドライブの空容量が少なくなってきたので、 ARCserveの(バックアップを管理するための)データベースを移動したいのですが、 以下の方法ではうまく動作しませんでした。 【試した方法】 ARCserveの標準データベース(VLDB)を 別サーバ上にある(ARCserveがインストールされているサーバーにはSQLserverは入っていないので)SQLserverへ移行した。 ・マニュアルに従い、ARCserveインストール先にあるSQLsetup.exeを実行し、SQLserverにDBを移行。 ・SQLserver上にSQLserver認証ユーザーを新たに追加して、DBへのアクセス権限を持たす。 ・サーバー管理マネージャーの「MS SQL アカウント設定」に追加したユーザーを登録。 しかし、DBへのログインができず、 以前DBを書き込んでいた場所に、何かしらアクセスしている状況です。 ARCserveは、Cドライブから移動できればどこでもかまいません。 何かしらの手立てでデータベースの移動をされた方がいらっしゃいましたら、手順を教えてください。 よろしくお願いします。

  • 2つの異なるサーバーのDBを扱う

    現在、Visual Studio 2005(BASIC) を使って、Aのサーバー(IIS)に画像データを貯めるWebプログラムを作成しようとしています。この管理にはMDB形式のDBを使用する予定です。 ところが、このサービスを利用できるユーザーの管理は、Bのサーバー(UNIX MySQL)のDBで管理されています。 このように、Aのサーバーで動作するWebプログラムからBのサーバーのDBに接続することは可能なのでしょうか?

  • 非公開フォルダと属性と.htaccess

    独学でPHPを勉強しています。 認証のパスワードとMySQLのユーザー名とパスーワードをどこに保存すればいいのか分かりません。 [sitemix]というレンタルサーバーを利用しており、[site][blog]フォルダ以外に置けば、 非公開になることが分かりました。 そうすると、確かに、ネット上からはアクセスできませんが、拡張子を何にすればいいのか、属性をどうすれば一番セキュリティ強度が高まるのか分かりません。 掲示板の管理画面に入れる認証パスワード 非公開ディレクトリ上にあるファイル(p.php)属性404 <?php $pass=sha1("pass"); ?> 公開のファイルからアクセス require(../../p.php); if($pass==sha1($_POST('POST送信で受け取った値')){認証チェックが通った場合の処理} 問題は、例えば、p.phpの属性が初期設定の604でも変わらないのでしょうか? 最適な属性が分かりません。 また、拡張子をdatファイルなどにしてfopenで取得しても同じでしょうか? .htaccessは非公開領域でも、使用した方がいいのでしょうか? MySQLに関しては、非公開ディレクリ上にsql.phpを置き属性を404にしています。 <?php $SERV="IPアドレス"; $USER="ユーザー名"; $PASS="パスワード"; $DBNM="データベーススペース名"; mysql_connect($SERV,$USER,$PASS) or die(mysql_error()); mysql_select_db($DBNM); mysql_query('set names utf8'); ?> 認証画面と同じようにして、requireでMySQLに接続して、選択しています。 ネットや参考書では、まず、Passなどを分離してないことが多く、 どうすれば、個人レベルでセキュリティ強度を高めることができるのが書かれていません。 宜しくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう