2017-02-15 22 views
0

基本的にコントローラのパブリックメソッドがajaxリクエストによって呼び出されると、それらはコンソールで一般公開されますか?私はそれらをもっと不明瞭にすることに懸念すべきでしょうか?たとえば、ユーザーのログイン資格情報を確認するためのメソッドを呼び出すとしますか?パブリックコントローラ関数の命名規則

これについて何かアドバイスできますか?

答えて

0

あなたが公共から自分のコントローラ名を非表示にする場合は、config/routes.phpにカスタムルートを定義することができます - 例えば:

$route['about'] = 'name_controller/about'; 

Then, http://example.com/about 
goes to http://example.com/name_controller/about 

読むよりおよそURI Routing

このlinkすぎ

を参照してください。命名規則については、この質問を参照してください。Correct naming structure for CodeIgnitor

0

チェックこのスタックのポスト: - controller security naming convention

か、あなたのURL名はあなたのコントローラパブリック関数名とは異なる名前でなければなりませんしたい場合は、すべてのURLの名前が付いたルートを使用することができます。

1

私は常にensu私は入力クラスis_ajax_request()をリクエストの種類の冒頭に使用しますが、その1つのステップは良いものの、ユーザーがブラウザでブラウズしようとしていることを意味します。メソッドの最初にこれを行うだけです。

if(!is_ajax_request()) { 
    show_404(); 
} else { 
    // Do your code here 
} 

プライベート関数を使用する必要はありませんが、上記を使用すると、XHRリクエストが確実に行われますが、それらは偽造される可能性がありますが、少なくともブラウザバーでURLを使用しようとしている人からは保護されます。

それ以外では、POSTやGETで送信されたIDなどは暗号化されていることを確認してください。暗号化クラスがあるため、暗号化されていないデータは動作しません。ブラウザのコンソールを使用するときの要素。明らかにあなたの質問を読んでいないすべてにこれらのプライベートメソッド "物事を送信

人々...

+0

ニース、私はちょうど私のコントローラの一番上に置きましたか? – herondale

+0

ええ、コントローラーはelseの中になければならない何か –

+0

ありがとう、これは私の質問に直接答えなかったとしても本当に役に立ちました。私はここで二つの答えを受け入れることができれば幸いです+1 :) – herondale

2

、すべてのネットワーク・トランザクション(例えばAJAX呼び出し)は、ユーザーに明らかにすることができる。隠れURLの命名は状況を大幅に改善しません。また、関数名をあいまいにすることはセキュリティが愚かです。まず、不要なPHPコードのアップロード/実行を許可しないでください。

私は考えることができることを、一般的なセキュリティ対策は、以下のとおりです。

  1. brute force attackを防ぐために、治水/ IPのブラックリストを追加します。
  2. man in the middle attackまたはpacket sniffingを防ぐためにHTTPSを使用してください。
  3. を防ぐ必要がある場合は、security classを使用してください。
+0

ありがとう、これらのことを覚えておきます。 – herondale