PHPを使用して、サーバーに送信できるテキストの長さを制限します
-
27-10-2019 - |
質問
HTMLを使用してユーザーフォームでこれを行う方法を知っています。ただし、悪意のあるユーザーは、そのフォームを渡してサーバーアクションページを呼び出して異常に大きなサイズのテキストを送信することができます。
とにかく、サーバーからのそのような要求を拒否するためにありますか。おそらく、巨大なファイルのアップロードと同様に、実際に到着する前に到着するポストデータのサイズを事前に実現できるメカニズムがあります。
解決
編集します php.ini
Max Post Sizeを許可するメガバイトの数値にファイルして設定します。長いブログの投稿やそうでないことに十分な高さが必要です。
post_max_size = 4M
確認する必要がある他の設定は次のとおりです
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30
; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
; http://php.net/max-input-time
max_input_time = 60
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 30MB
Apacheまたはnginxを使用している場合は、サーバー構成の最大要求サイズを設定して、均等にリクエストをブロックできるようにすることもできます。 リーチ Php。
他のヒント
使用できます スホシン。 PHPの保護システムです。また、設定の中で、特定の長さにわたってリクエストを禁止できます。
PHPがPOSTデータを処理するまでに、少し遅れています。これは、Webサーバーレベルでより適切に実現されます。 Apacheを使用している場合は、をチェックしてください limitrequestbody 指令。
所属していません StackOverflow