
現在はUUID(unique_id)に格納して、それをURLに設定することで質問ごとにURLを生成しているのですが、http://www.irasuto.cfbx.jp/質問表示画面/?xxxxxxxx_xxxx_xxxx_xxxx_xxxxxxxxxxxx
URLが長すぎるのではないかと感じております。
そこで単に質問ID連番をURLにすることを考えてみたのですが、セキュリティ面を考えたときにヤフー知恵袋やOKWABEのようにログインシステムを導入していないため、スクリプト等で荒らされる危険があるのではないかと危惧しております。
セキュリティを考慮するならURLは長いほうがよいと思うのですが、連番で生成する方法とどちらを選択するべきでしょうか?
$url = substr($_SERVER['REQUEST_URI'], -36);
$sql = 'SELECT * FROM sortable WHERE unique_id=%s';
$query = $wpdb->prepare($sql, $url);
$rows = $wpdb->get_results($query);
※現在のテーブル
https://i.imgur.com/8SF6LER.jpg
No.1ベストアンサー
- 回答日時:
URL の構造で秘匿性を図るなど意味がありません。
その URL をリンクとして表示するページがどこかにあるかぎり、
自動収集されてしまいますので。
荒らし対策ならば、以下の様な方式を考えましょう
https://ja.wikipedia.org/wiki/CAPTCHA
余談ではありますが、
もっと根本的な危険があるので対策しましょう
参考)
安全なウェブサイトの作り方 - 1.1 SQLインジェクション
1-(i)-a SQL文の組み立ては全てプレースホルダで実装する。
1-(i)-b ...エスケープ処理等を行う...
https://www.ipa.go.jp/security/vuln/websecurity/ …
回答ありがとうございます、Wordpressという前提を書き忘れておりました申し訳ありません。
どうやら%sはプレースホルダーとして機能するようです。
https://developer.wordpress.org/reference/classe …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのheader("Location:#pos")...
-
セッション関数を使わずにファ...
-
SplFileObject を利用したとき...
-
PHP8でWarning:Undefined varia...
-
PHP8を使うと、大量のWarningが...
-
フォームで戻った際に入力済み...
-
PHPで画像の渡しが上手く行きま...
-
$filePath = './user_img/' . $...
-
php ラジオボタン
-
composerをインストールしたい...
-
phpの問い合わせフォームを作っ...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Pro*Cの構文エラー
-
JAVA SQLServerException 列名 ...
-
<VB.NET>INSERT文でDBにデータ...
-
insert1つの処理でもトランザ...
-
ResultSetインターフェイスでの...
-
VBA ACCESS SQL...
-
MySQL 複数の同じような命令が...
-
ASPでSQL文を使う場合に。
-
VB勉強中
-
PHPからデータベースに接続した...
-
VB.NET エラーになる箇...
-
SQLインジェクション対策
-
sqliteの構造体
-
Q&Aサイトを作成していてURLの...
-
データベースに存在するデータ...
-
C#でDBの特定列をUpdate
-
エクセルVBAのデータベース接続...
-
チェックボックスからの複数検...
-
SQL文の連結が、うまくいきません
-
CakePHPでquery()を使うときに...
おすすめ情報