2016-04-07 4 views
-1

昨日私はインタビューのために私は私が答えることができなかった2つの質問をしました。誰も私に次の正しい方向を教えてくれますか?私たちのウェブサイトからのウェブスクラップを防止する方法

  1. ウェブスクラップからウェブサイトを保護する方法。
  2. ウェブサイトでSQLインジェクションを防止する方法は?
+5

もう少しコンテキストを取得できますか?そして、私はあなたが "SQLインジェクションを防ぐ"という意味だと思います。 –

+0

@Davidうわーそれは間違っている – cmorrissey

+2

@ cmorrissey:私はそれがあったと思います。しかし、ここでStack OverflowでPHPタグを参照してください。それは圧倒的です。 – David

答えて

2
  1. スクレイピングは、一般的にrobots.txtファイルを使用することによって回避されます。
  2. SQLインジェクションを追加するのではなく、SQLインジェクションを防止することについての質問がありました。これはinput sanitizationによって行われます。最善の方法をこする防ぐため
+3

入力sanitization.isおそらくSQL注入を防ぐ最悪の方法の1つです。 –

+2

SQLインジェクションを防止することは、ユーザー入力をコード*として実行しないことです。最初に入力を実行しない場合、入力を「サニタイズ」する必要はありません。 – David

+2

'robots.txt'は、もう一方の端がうまくいけば動作します。 –

0
  1. は、Webページは、彼らがロードされるたびに予測できないいくつかの点で異なるようにすることです。各ページでタグなどの一意の識別子を使用する
  2. 動的SQLに入力を含めないでください。代わりにバインドを使用してください。
1

ここでは、あなたはあなたがいくつかの基本的なHTTPヘッダーの検証を行うことができます

  1. をこする/クロール防ぐために行うことができますいくつかのことです。
  2. あなたは、いくつかの第3部のツールを使用することができます
  3. あなたはログインのようなユーザーのものとは、特定の領域へのアクセスを制限することができます難易
  4. の層を追加することができ、/動的コンテンツレンダリングJSを使用することができます
  5. - あなたがすることができます
  6. - あなたはまた、SQLインジェクションの保護

    0123用のrel =「nofollowを_」属性

であなたのハイパーリンクを飾ることができ、検索クローラーを制御するrobots.txtファイルを使用します

  1. - 実際のWebアプリケーションがDBと直接対話しないDB(n-tiered applicatin)から抽出レベルを取得できます。
  2. が正しくサニタイズ、エンコードおよび は、アプリケーションの
  3. 使用ユニットテストのdevのチームが一緒に入れているツールを使用して、
  4. は何が独自の検証と衛生に頼らないをすべてのユーザー入力を処理し、あなたのアプリケーションを確認してください あなたはあなたが悪いボット/スクラップをブロックするためのhtaccessファイル/コードを使用することができます データベース
0

から直接、詳細なエラーメッセージを投げていないことを確認し、入力のすべての種類を扱う、そして安全な

  • を失敗することができますSQLインジェクションから保護します。

    1. このリンクを参照してください:http://www.askapache.com/htaccess/blocking-bad-bots-and-scrapers-with-htaccess.html悪質なボット/スクレーパーの広範なリストと使用するhtaccessコード。

    2。

    # SQL Injection Protection: Block common SQL commands used in Query Strings 
        RewriteCond %{QUERY_STRING} (;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|drop|delete|update|cast|create|char|convert|alter|declare|order|script|set|md5|benchmark|encode) [NC] 
        RewriteRule ^(.*)$ - [F] 
    
  • 関連する問題