ユーザープロファイルシステムを作成する際に助けが必要です。私はFacebookやMyspaceのようになります。アドレスのあとにはユーザ名だけがあり、疑問符もなく、例えばwww.mysite.com/username
のようになります。私はすべての登録、ロギングスクリプトなどをすべて持っていますが、上記の "/ username"というURLの例を使ってプロファイルに行くにはどうしたらいいですか?PHPとMySQLを使用してユーザープロファイルを作成する方法
答えて
最初のディレクトリを取って$ _GETパラメータとして渡したmodリライトを作成する必要があります。
これを試してみてください:? '/' としてindex.phpをユーザー=ディレクトリ
後に何かを書き換える必要があります
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)/$ index.php?user=$1
がrewrite engineを見てみましょう。いくつかのフレームワークには、Zend Frameworkのようにこのジョブを実行するクラスがあります。Zend_Routerがあります。これを自分で使うこともできますし、他のフレームワークも同様です。好みのフレーバーをドキュメントで確認してください。
ここに私の答えの要約版は、誰もtldrモーメントの場合には、です:
- は、「ユーザー」という名前のディレクトリを作成します。ユーザーに行われていない括弧内の任意の拡張のための
REQUEST_URIRewriteEngine on
RewriteRule !\.(gif|jpg|png|css)$ /your_web_root/users/index.php'REQUEST_URI
これで、すべてのページリクエスト:そのディレクトリ内
、次のmod_rewriteで.htaccessファイルを作成しますディレクトリはindex.phpに行きます
index.phpは、ユーザが入力したURLを取り、終わり。これを行う方法のトンがありますが、ここでは常にユーザー名となりますが、最後の部分を知っている場合に簡単です、多分、ユーザ名/写真が/いない:
$url_request = $_SERVER['REQUEST_URI']; //Returns path requested, like "https://stackoverflow.com/users/foo/"
$user_request = str_replace("https://stackoverflow.com/users/", "", $url_request); //this leaves only 'foo/'
$user_name = str_replace("/", "", $user_request); //this leaves 'foo'
は今、ちょうどにクエリを行いますそのユーザー名のDB。存在する場合、index.phpは、スクリプトがリダイレクトされていない場合はプロファイルを出力します。/users/404.php
しかし、ユーザが存在する場合、すべてのユーザは
www.example.org/users/foo/
fooのユーザーページにアクセスしました。
ハッカーが悪用する変数を取得できません。別のブログや名刺のURLに簡単に挿入できます。
実際には、「?」を取り除くことは可能です。素敵なシンプルなwww.example.org/users/someusernameがあります。
これはTill Quackの記事「How to Succeed with URLs」のA List Apartにあることを知りました。
Apache、.htaccess、mod_rewriteについて理解する必要があります。この方法では、セキュリティ上のリスクを理解し、それを考慮する必要があります。
"users"という名前のディレクトリを作成します(そうする必要はありませんが、これはすべてを簡略化します)。そのディレクトリに.htaccessファイルを置きます。このファイルには、 「特定の種類でないファイルやディレクトリの要求(images、pdfs)はすべて、このスクリプトに送信する必要があります。このスクリプトは、ユーザーの送信先を処理します」記事からのmod_rewriteのは次のようになります。私の例では
RewriteEngine on
RewriteRule !\.(gif|jpg|png|css)$ /your_web_root/index.php
それは、より簡単です理由があるため、代わりにこのスクリプトのあなたのすべての要求を処理している、「/your_web_root/users/index.php」になりますページでは、ユーザーディレクトリ内のものを扱うだけです。
次に、「大丈夫、URLは何ですか?」というPHPスクリプトがあります。基本的に最後の後続のスラッシュ(または最後に別のものがある場合は2つ)の後にその部分をつかみ、SANITIZESはそれを見つけます(これは本当に重要です)。そうであればリクエスタはユーザーのプロフィールに送信しますが、かなりのURL(1秒で取得します)になっていない場合は、「ユーザーが見つかりません」ページなどに送信します。
あなたのユーザーが見つかった場合は、PHPスクリプトによってユーザープロファイルが出力されます(再度、墨塗りをしてください)。プロファイルを表示するブラウザがそのコードを実行することを知っている)。
www.example.org/users/example_user
、あなたが代わりにリダイレクトのmod_rewriteのを使用しているので、URLは同じままで、.htaccessファイルを引き上げるというスクリプトは、単にユーザープロファイルをダンプします:要求されたページがあったため。訪問者に、彼らはちょうどそれらが上記のURLに入れているのを見て、ユーザープロフィールが現れました。
「user_not_found」ページを出力するのではなく、「user not found」ページにリダイレクトするかどうかを確認するPHPスクリプトも必要です。これは、そうで置く誰もされています
www.example.org/users/blabhaboehbohe
ではなくURLが同じまま見ての
www.example.org/users/notfound/
へのURLの変更が表示されます。ハッカーが、URLが変更されないことを確認した場合、mod_rewriteを使用していることが分かり、実際の出力を処理するスクリプトが必要になります。彼らがそれを知っていれば、彼らはあなたが開いたままになっている可能性があるすべてのセキュリティホールを探して狂って行くことができます。
歓声。
- 1. phpとmysqlを使用してクエリからテーブルを作成する方法
- 2. 個人的なmysqlデータを持つユーザープロファイルを作成してPHPを使用する
- 3. コアデータを使用してユーザープロファイル/アカウントを作成する
- 4. Javaを使用してMySQLログを作成する方法
- 5. PHPとmySqlを使用してユーザープロファイルのWebページを作成する方法は? URLの書き換えですか?
- 6. スケジュールエントリに基づいてPHPとMySQLを使用して可用性スクリプトを作成する方法は?
- 7. PHPとMySQLを使用してイメージを取得する方法
- 8. PHPとMySQLを使用してテーブル値をソートする方法
- 9. "。"でmysqlデータベースを作成する(PHPを使用して)
- 10. PHP&MySqlを使用して出席テーブルを作成する
- 11. PHPを使用してMySQLでテーブルを作成するには?
- 12. PHPを使用してMSEXCELファイルを作成する方法
- 13. PHPを使用してAPIのアクセストークンを作成する方法
- 14. PHPでセッションを使用してショッピングカートを作成する方法
- 15. PHPを使用してメールフォームを作成する方法
- 16. PHP SDKを使用してfqlマルチクエリを作成する方法
- 17. django-registrationを使用してユーザープロファイルを作成できません
- 18. トークン認証を使用してユーザープロファイルを実装する方法
- 19. ウェブサイト用インストーラの作成方法PHP mysql
- 20. レールを使用したユーザープロファイルとグループの作成
- 21. phpとmysqlを使用してデータベースにデータを挿入する関数を作成する方法
- 22. PHPとMysqlのスタンドアロンデプロイメントパッケージの作成方法
- 23. express-sessionとexpress-mysql-sessionを使用してログインエンドポイントを作成する方法
- 24. webservicesとMySQLを使用してJavaバックエンドを作成する方法は?
- 25. mysqlとJDBCを使用して内部結合を作成する方法
- 26. mysqlとphpを使用してxmlファイルを作成するPHPコードを試そうとしています
- 27. PHPでログインして、編集のユーザープロファイルを表示する方法
- 28. php myql dbを使用してユーザープロファイルpicを保存します
- 29. ユーザープロファイルを使用してEC2インスタンスなしでs3操作を実行することを回避する方法
- 30. mysqlデータベースとphpインデックススクリプトを使用して線、棒グラフを作成する
これは複雑ですか? – Spyderfusion02
実際はかなり簡単です。それをルートディレクトリの.htaccessに入れてください。 –
私は正しいルールを取得しようとしています。私に秒をください。 –