体育资讯网

您现在的位置是:首页 > 分类10 > 正文

分类10

tradetoken系统源码(trade token)

hacker2022-06-08 16:37:15分类1068
本文目录一览:1、如何防止自己的python源码被别人替换成别的源码运行,比如可以跳过一些token验证

本文目录一览:

如何防止自己的python源码被别人替换成别的源码运行,比如可以跳过一些token验证

对源码文件做 md5 试试,如果源码被别人改动过了,哪怕一个字节,其 md5 值与原来的都不一样了。

学生考试管理系统,JAva源代码

//主类EnglishTest——

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class EnglishTest extends JFrame

{

TestArea testPanel=null;

Container con=null;

public EnglishTest()

{

super("模拟考试");

testPanel=new TestArea();

con=getContentPane();

con.add(testPanel,BorderLayout.CENTER);

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e)

{ System.exit(0);

}

});

setVisible(true);

setBounds(60,40,660,460);

con.validate();

validate();

}

public static void main(String args[])

{

new EnglishTest();

}

}

//读取试题 ReadTestquestion

import java.io.*;

import java.util.*;

public class ReadTestquestion

{ String filename="",

correctAnswer="",

testContent="" ,

selection="" ;

int score=0;

long time=0;

boolean 完成考试=false;

File f=null;

FileReader in=null;

BufferedReader 读取=null;

public void setFilename(String name)

{ filename=name;

score=0;

selection="";

try {

if(in!=null读取!=null)

{

in.close();

读取.close();

}

f=new File(filename);

in=new FileReader(f);

读取=new BufferedReader(in);

correctAnswer=(读取.readLine()).trim();

String temp=(读取.readLine()).trim() ;

StringTokenizer token=new StringTokenizer(temp,":");

int hour=Integer.parseInt(token.nextToken()) ;

int minute=Integer.parseInt(token.nextToken());

int second=Integer.parseInt(token.nextToken());

time=1000*(second+minute*60+hour*60*60);

}

catch(Exception e)

{

testContent="没有选择试题";

}

}

public String getFilename()

{

return filename;

}

public long getTime()

{

return time;

}

public void set完成考试(boolean b)

{

完成考试=b;

}

public boolean get完成考试()

{

return 完成考试;

}

public String getTestContent()

{ try {

String s=null;

StringBuffer temp=new StringBuffer();

if(读取!=null)

{

while((s=读取.readLine())!=null)

{

if(s.startsWith("**"))

break;

temp.append("\n"+s);

if(s.startsWith("endend"))

{

in.close();

读取.close();

完成考试=true;

}

}

testContent=new String(temp);

}

else

{

testContent=new String("没有选择试题");

}

}

catch(Exception e)

{

testContent="试题内容为空,考试结束!!";

}

return testContent;

}

public void setSelection(String s)

{

selection=selection+s;

}

public int getScore()

{ score=0;

int length1=selection.length();

int length2=correctAnswer.length();

int min=Math.min(length1,length2);

for(int i=0;imin;i++)

{ try{

if(selection.charAt(i)==correctAnswer.charAt(i))

score++;

}

catch(StringIndexOutOfBoundsException e)

{

i=0;

}

}

return score;

}20:10 03-8-31

public String getMessages()

{

int length1=selection.length();

int length2=correctAnswer.length();

int length=Math.min(length1,length2);

String message="正确答案:"+correctAnswer.substring(0,length)+"\n"+

"你的回答:"+selection+"\n";

return message;

}

}

//考试区域TestArea

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.io.*;

class FileName implements FilenameFilter

{

String str=null;

FileName (String s)

{

str="."+s;

}

public boolean accept(File dir,String name)

{

return name.endsWith(str);

}

}

public class TestArea extends JPanel implements ActionListener,ItemListener,Runnable

{

Choice list=null;

JTextArea 试题显示区=null,消息区=null;

JCheckBox box[];

JButton 提交该题答案,读取下一题,查看分数;

ReadTestquestion 读取试题=null;

JLabel welcomeLabel=null;

Thread countTime=null;

long time=0;

JTextField timeShow=null;

boolean 是否关闭计时器=false,

是否暂停计时=false;

JButton 暂停或继续计时=null;

public TestArea()

{

list= new Choice();

String 当前目录=System.getProperty("user.dir");

File dir=new File(当前目录);

FileName fileTxt=new FileName("txt");

String fileName[]=dir.list(fileTxt);

for(int i=0;ifileName.length;i++)

{

list.add(fileName[i]);

}

试题显示区=new JTextArea(15,12);

试题显示区.setLineWrap(true);

试题显示区.setWrapStyleWord(true);

试题显示区.setFont(new Font("TimesRoman",Font.PLAIN,14));

试题显示区.setForeground(Color.blue);

消息区=new JTextArea(8,8);

消息区.setForeground(Color.blue);

消息区.setLineWrap(true);

消息区.setWrapStyleWord(true);

countTime=new Thread(this);

String s[]={"A","B","C","D"};

box=new JCheckBox[4];

for(int i=0;i4;i++)

{

box[i]=new JCheckBox(s[i]);

}

暂停或继续计时=new JButton("暂停计时");

暂停或继续计时.addActionListener(this);

提交该题答案=new JButton("提交该题答案");

读取下一题=new JButton("读取第一题");

读取下一题.setForeground(Color.blue);

提交该题答案.setForeground(Color.blue);

查看分数=new JButton("查看分数");

查看分数.setForeground(Color.blue);

提交该题答案.setEnabled(false);

提交该题答案.addActionListener(this);

读取下一题.addActionListener(this);

查看分数.addActionListener(this);

list.addItemListener(this);

读取试题=new ReadTestquestion();

JPanel pAddbox=new JPanel();

for(int i=0;i4;i++)

{

pAddbox.add(box[i]);

}

Box boxH1=Box.createVerticalBox(),

boxH2=Box.createVerticalBox(),

baseBox=Box.createHorizontalBox();

boxH1.add(new JLabel("选择试题文件"));

boxH1.add(list);

boxH1.add(new JScrollPane(消息区));

boxH1.add(查看分数);

timeShow=new JTextField(20);

timeShow.setHorizontalAlignment(SwingConstants.RIGHT);

timeShow.setEditable(false);

JPanel p1=new JPanel();

p1.add(new JLabel("剩余时间:"));

p1.add(timeShow);

p1.add(暂停或继续计时);

boxH1.add(p1);

boxH2.add(new JLabel("试题内容:"));

boxH2.add(new JScrollPane(试题显示区));

JPanel p2=new JPanel();

p2.add(pAddbox);

p2.add(提交该题答案);

p2.add(读取下一题);

boxH2.add(p2);

baseBox.add(boxH1);

baseBox.add(boxH2);

setLayout(new BorderLayout());

add(baseBox,BorderLayout.CENTER);

welcomeLabel=new JLabel("欢迎考试,提高英语水平",JLabel.CENTER);

welcomeLabel.setFont(new Font("隶书",Font.PLAIN,24));

welcomeLabel.setForeground(Color.blue);

add(welcomeLabel,BorderLayout.NORTH);

}

public void itemStateChanged(ItemEvent e)

{

timeShow.setText(null);

是否关闭计时器=false;

是否暂停计时=false;

暂停或继续计时.setText("暂停计时");

String name=(String)list.getSelectedItem();

读取试题.setFilename(name);

读取试题.set完成考试(false);

time=读取试题.getTime();

if(countTime.isAlive())

{

是否关闭计时器=true;

countTime.interrupt();

}

countTime=new Thread(this);

消息区.setText(null);

试题显示区.setText(null);

读取下一题.setText("读取第一题");

提交该题答案.setEnabled(false);

读取下一题.setEnabled(true);

welcomeLabel.setText("欢迎考试,你选择的试题:"+读取试题.getFilename());

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==读取下一题)

{

读取下一题.setText("读取下一题");

提交该题答案.setEnabled(true);

String contentTest=读取试题.getTestContent();

试题显示区.setText(contentTest);

消息区.setText(null);

读取下一题.setEnabled(false);

try {

countTime.start();

}

catch(Exception event)

{

}

}

if(e.getSource()==提交该题答案)

{

读取下一题.setEnabled(true);

提交该题答案.setEnabled(false);

String answer="?";

for(int i=0;i4;i++)

{

if(box[i].isSelected())

{

answer=box[i].getText();

box[i].setSelected(false);

break;

}

}

读取试题.setSelection(answer);

}

if(e.getSource()==查看分数)

{

int score=读取试题.getScore();

String messages=读取试题.getMessages();

消息区.setText("分数:"+score+"\n"+messages);

}

if(e.getSource()==暂停或继续计时)

{

if(是否暂停计时==false)

{

暂停或继续计时.setText("继续计时");

是否暂停计时=true;

}

else if(是否暂停计时==true)

{

暂停或继续计时.setText("暂停计时");

是否暂停计时=false;

countTime.interrupt();

}

}

}

public synchronized void run()

{

while(true)

{

if(time=0)

{

是否关闭计时器=true;

countTime.interrupt();

提交该题答案.setEnabled(false);

读取下一题.setEnabled(false);

timeShow.setText("用时尽,考试结束");

}

else if(读取试题.get完成考试())

{

是否关闭计时器=true;

timeShow.setText("考试效果:分数*剩余时间(秒)="+1.0*读取试题.getScore()*(time/1000));

countTime.interrupt();

提交该题答案.setEnabled(false);

读取下一题.setEnabled(false);

}

else if(time=1)

{

time=time-1000;

long leftTime=time/1000;

long leftHour=leftTime/3600;

long leftMinute=(leftTime-leftHour*3600)/60;

long leftSecond=leftTime%60;

timeShow.setText(""+leftHour+"小时"+leftMinute+"分"+leftSecond+"秒");

}

try

{

Thread.sleep(1000);

}

catch(InterruptedException ee)

{

if(是否关闭计时器==true)

return ;

}

while(是否暂停计时==true)

{

try

{

wait();

}

catch(InterruptedException ee)

{

if(是否暂停计时==false)

{

notifyAll();

}

}

}

}

}

}

支付宝跳转到alipayto.php返回undefined

require_once(app_path() . "/Tool/Alipay/alipay.config.php");

require_once(app_path() . "/Tool/Alipay/lib/alipay_submit.class.php");

//返回格式

$format = "xml";

//必填tradetoken系统源码,不需要修改

//返回格式

$v = "2.0";

//必填tradetoken系统源码,不需要修改

//请求号

$req_id = date('Ymdhis');

//必填tradetoken系统源码,须保证每次请求都是唯一

//**req_data详细信息**

//服务器异步通知页面路径

$notify_url = "http://" . $_SERVER['HTTP_HOST'] . '/service/pay/ali_notify';

//需http://格式的完整路径tradetoken系统源码,不允许加?id=123这类自定义参数

//页面跳转同步通知页面路径

$call_back_url = "http://" . $_SERVER['HTTP_HOST'] . '/service/pay/ali_result';

//需http://格式的完整路径tradetoken系统源码,不允许加?id=123这类自定义参数

//

//操作中断返回地址

$merchant_url = "http://" . $_SERVER['HTTP_HOST'] . '/service/pay/ali_merchant';

//用户付款中途退出返回商户的地址。需http://格式的完整路径,不允许加?id=123这类自定义参数

//卖家支付宝帐户

$seller_email = 'ajjnae2770@sandbox.com';

//必填

//商户订单号

$out_trade_no = $_POST['order_no'];

//商户网站订单系统中唯一订单号,必填

Log::info('out_trade_no:' . $out_trade_no);

//订单名称

$subject = $_POST['name'];

//必填

//付款金额

$total_fee = $_POST['total_price'];

//必填

//请求业务参数详细

$req_data = 'direct_trade_create_reqnotify_url' . $notify_url . '/notify_urlcall_back_url' . $call_back_url . '/call_back_urlseller_account_name' . $seller_email . '/seller_account_nameout_trade_no' . $out_trade_no . '/out_trade_nosubject' . $subject . '/subjecttotal_fee' . $total_fee . '/total_feemerchant_url' . $merchant_url . '/merchant_url/direct_trade_create_req';

//必填

/************************************************************/

//构造要请求的参数数组,无需改动

$para_token = array(

"service" = "alipay.wap.trade.create.direct",

"partner" = trim($alipay_config['partner']),

"sec_id" = trim($alipay_config['sign_type']),

"format" = $format,

"v" = $v,

"req_id" = $req_id,

"req_data" = $req_data,

"_input_charset" = trim(strtolower($alipay_config['input_charset']))

);

//建立请求

$alipaySubmit = new \AlipaySubmit($alipay_config);

//报错点

$html_text = $alipaySubmit-buildRequestHttp($para_token);

//URLDECODE返回的信息

$html_text = urldecode($html_text);

//解析远程模拟提交后返回的信息

$para_html_text = $alipaySubmit-parseResponse($html_text);

//获取request_token

$request_token = $para_html_text['request_token'];

/**************************根据授权码token调用交易接口alipay.wap.auth.authAndExecute**************************/

//业务详细

$req_data = 'auth_and_execute_reqrequest_token' . $request_token . '/request_token/auth_and_execute_req';

//必填

//构造要请求的参数数组,无需改动

$parameter = array(

"service" = "alipay.wap.auth.authAndExecute",

"partner" = trim($alipay_config['partner']),

"sec_id" = trim($alipay_config['sign_type']),

"format" = $format,

"v" = $v,

"req_id" = $req_id,

"req_data" = $req_data,

"_input_charset" = trim(strtolower($alipay_config['input_charset']))

);

//建立请求

$alipaySubmit = new \AlipaySubmit($alipay_config);

$html_text = $alipaySubmit-buildRequestForm($parameter, 'get', '确认');

return $html_text;

}

发表评论

评论列表

  • 馥妴七禾(2022-06-08 17:11:32)回复取消回复

    { 读取下一题.setEnabled(true); 提交该题答案.setEnabled(false); String answer="?"; for(int

  • 假欢邮友(2022-06-08 16:58:46)回复取消回复

    payto.php返回undefined如何防止自己的python源码被别人替换成别的源码运行,比如可以跳过一些token验证对源码文件做 md5 试试,如果源码