


Php CURL simulates logging into the forum and collects data example_PHP tutorial
This article will introduce to you students about Php CURL simulated login forum and data collection examples. If you are interested in using curl simulated login function, you can enter for reference.
To simulate a browser accessing a website, the first step is to learn to observe how the browser sends http messages and what kind of content the website server returns to the browser. I recommend installing httpwatch software developed by foreigners. It is best to get a cracked version, otherwise some functions will not be available. After this software is installed, it is embedded in IE. Start Record, enter the URL in the address bar and press Enter. It will scan out all the communications between the browser and the server, giving you a clear view. The use of this software will not be introduced in this article.
The most critical aspect of simulating browser login application development is to break through login verification. CURL technology not only supports http, but also https. The difference is that there is an additional layer of SSL encrypted transmission. If you want to log in to an https website, PHP must support openssl. Let’s take an example to analyze first.
The code is as follows | Copy code | ||||
$login_url = $discuz_url . 'logging.php?action=login'; //Login page address $post_fields = array(); //The following two items do not need to be modified $post_fields['loginfield'] = 'username'; $post_fields['loginsubmit'] = 'true'; //Username and password must be filled in $post_fields['username'] = 'tianxin'; $post_fields['password'] = '111111'; //Security questions $post_fields['questionid'] = 0; $post_fields['answer'] = ''; //@todo verification code $post_fields['seccoverify'] = ''; //Get form FORMHASH $ch = curl_init($login_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $contents = curl_exec($ch); curl_close($ch); preg_match('/ if (!empty($matches)) { $formhash = $matches[1]; } else { Die('Not found the forumhash.'); } //POST data, obtain COOKIE, and put the cookie file in the temp directory of the website $cookie_file = tempnam('./temp', 'cookie'); $ch = curl_init($login_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); curl_exec($ch); curl_close($ch); //After getting the key cookie file, you can use the cookie file to simulate posting. Fid is the column ID of the forum $send_url = $discuz_url . "post.php?action=newthread&fid=2"; $ch = curl_init($send_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); $contents = curl_exec($ch); curl_close($ch); //The hash code here is different from the hash code in the login window. The hidden here has an additional id attribute preg_match('/ if (!empty($matches)) { $formhash = $matches[1]; } else { Die('Not found the forumhash.'); } $post_data = array(); //Post title $post_data['subject'] = 'test2'; //Post content $post_data['message'] = 'test2'; $post_data['topicsubmit'] = "yes"; $post_data['extra'] = ''; //Post tag $post_data['tags'] = 'test'; //The hash code of the post, this is very critical! If this hash code is missing, discuz will warn you that the page you came from is incorrect $post_data['formhash'] = $formhash; $ch = curl_init($send_url); curl_setopt($ch, CURLOPT_REFERER, $send_url); //Disguise REFERER curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $contents = curl_exec($ch); curl_close($ch); //Clean cookie files unlink($cookie_file); ?> |
CURL实现网站模拟登陆
代码如下
|
复制代码 | ||||
http://www.bkjia.com/PHPjc/632770.html

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

Alternatives to PHP sessions include Cookies, Token-based Authentication, Database-based Sessions, and Redis/Memcached. 1.Cookies manage sessions by storing data on the client, which is simple but low in security. 2.Token-based Authentication uses tokens to verify users, which is highly secure but requires additional logic. 3.Database-basedSessions stores data in the database, which has good scalability but may affect performance. 4. Redis/Memcached uses distributed cache to improve performance and scalability, but requires additional matching

The article discusses PHP, detailing its full form, main uses in web development, comparison with Python and Java, and its ease of learning for beginners.

PHP handles form data using $\_POST and $\_GET superglobals, with security ensured through validation, sanitization, and secure database interactions.

The article compares PHP and ASP.NET, focusing on their suitability for large-scale web applications, performance differences, and security features. Both are viable for large projects, but PHP is open-source and platform-independent, while ASP.NET,

PHP's case sensitivity varies: functions are insensitive, while variables and classes are sensitive. Best practices include consistent naming and using case-insensitive functions for comparisons.

The article discusses various methods for page redirection in PHP, focusing on the header() function and addressing common issues like "headers already sent" errors.

Article discusses type hinting in PHP, a feature for specifying expected data types in functions. Main issue is improving code quality and readability through type enforcement.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

SublimeText3 Chinese version
Chinese version, very easy to use

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.
